Bonjour
J'ai un problème que je n'arrive pas à résoudre avec Entity Framework.
Pour résumer, j'utilise actuellement deux bases, donc deux entités, pour éviter les problèmes, tout est stockées dans des dossier / namespace différends. (Cf image en pièce jointe). Et lorsque je veux utiliser mes objets générer par mon DbContext (pour par exemple ajouter un tiers). Cela déconne.
L'exception en question
Exemple de code basique qui me retourne l'exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part The type 'TiersPeriodesFermeture' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute.
Apparemment cela est du à un mélange entre code généré par le Edmx et le DbContext. J'ai donc enlevé dans les propriétés du .edmx l'outils personnalisé. Mais cela ne change je rien. Perso je suis totalement perdu. Et mes recherches et tests non rien donnée de concluant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 public Boolean ImportData() { Boolean IsOk = false; try { Models.Web.TiersPeriodesFermeture oTiersPeriodesFermeture = null; using ( Models.Web.CollecteWebEntities db = new Models.Web.CollecteWebEntities() ) { db.Configuration.AutoDetectChangesEnabled = false; if ( this.LstTiers != null ) { db.Database.ExecuteSqlCommand( "DELETE FROM TiersPeriodesFermeture" ); foreach ( Models.Local.Web_Tiers_Export_Result oItem in this.LstTiers ) { #region TiersPeriodesFermeture oTiersPeriodesFermeture = new Models.Web.TiersPeriodesFermeture { LundiAM = ( oItem.Lundi_am.HasValue ) ? oItem.Lundi_am.Value : false, LundiPM = ( oItem.Lundi_pm.HasValue ) ? oItem.Lundi_pm.Value : false, MardiAM = ( oItem.Mardi_am.HasValue ) ? oItem.Mardi_am.Value : false, MardiPM = ( oItem.Mardi_pm.HasValue ) ? oItem.Mardi_pm.Value : false, MercrediAM = ( oItem.Mercredi_am.HasValue ) ? oItem.Mercredi_am.Value : false, MercrediPM = ( oItem.Mercredi_pm.HasValue ) ? oItem.Mercredi_pm.Value : false, JeudiAM = ( oItem.Jeudi_am.HasValue ) ? oItem.Jeudi_am.Value : false, JeudiPM = ( oItem.Jeudi_pm.HasValue ) ? oItem.Jeudi_pm.Value : false, VendrediAM = ( oItem.Vendredi_am.HasValue ) ? oItem.Vendredi_am.Value : false, VendrediPM = ( oItem.Vendredi_pm.HasValue ) ? oItem.Vendredi_pm.Value : false, SamediAM = ( oItem.Samedi_am.HasValue ) ? oItem.Samedi_am.Value : false, SamediPM = ( oItem.Samedi_pm.HasValue ) ? oItem.Samedi_pm.Value : false }; db.TiersPeriodesFermeture.Add( oTiersPeriodesFermeture ); #endregion } } db.SaveChanges(); } IsOk = true; } catch ( Exception Ex ) { // Log } return IsOk; }
Merci d'avance.
Edit : Résolu
Il me suffisait de créer mes deux Edmx dans des projets différends (genre bibliothèque et cela fonctionne niquel.
Partager