Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > Entity Framework
Entity Framework Forum d'entraide sur le développement avec le modèle d'accès aux données Entity Framework de Microsoft.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/11/2012, 10h44   #1
heraultj
Invité de passage
 
Homme Jérôme
Développeur informatique
Inscription : avril 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Jérôme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2012
Messages : 6
Points : 3
Points : 3
Par défaut [DbContext] Problème Exception POCO Attribut

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
Code :
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.
Exemple de code basique qui me retourne l'exception.
Code :
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;
}
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.

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.
Images attachées
Type de fichier : png Image.png (6,4 Ko, 4 affichages)
heraultj est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h05.


 
 
 
 
Partenaires

Hébergement Web