2011-12-16 2 views
1

J'ai une projection utilisant EF 4.0 avec des entités de suivi automatique, il a un modèle de données et tout fonctionne bien. Non, je dois ajouter un second modèle pour me connecter à une base de données différente. Dès que j'ajoute le deuxième modèle dans le projet, la construction échoue. Je reçois des erreurs comme celles-ci pour toutes les entités du premier modèle.Entity Framework plusieurs modèles de données

Error 12 The type 'Entities.InvoiceFile' cannot be used as type parameter 'TEntity' in the generic type or method 'DataServices.SelfTrackingEntitiesContextExtensions.ApplyChanges<TEntity>(System.Data.Objects.ObjectSet<TEntity>, TEntity)'. There is no implicit reference conversion from 'Entities.InvoiceFile' to 'DataServices.IObjectWithChangeTracker' 

Des idées?

Si je supprime les entités POCO pour le deuxième modèle, le projet se construit bien mais je reçois des erreurs d'exécution comme celui-ci

Test method DataServicesTest.TestStatements threw exception: 
System.InvalidOperationException: Mapping and metadata information could not be found for EntityType 'Entities.Currency'. 

Répondre

0

Oui, ce n'est pas facile de le faire dans un seul projet. La solution facile consiste à créer un nouveau projet uniquement pour le modèle de données, puis à ajouter une référence et à l'utiliser de cette manière.

Faites un clic droit sur la solution, choisissez Ajouter -> Nouveau projet, choisissez un projet de bibliothèque de classes, dans le nouveau projet ajoutez un nouveau modèle Entity Framework.

+0

Merci, vous savez ce qui cause l'erreur? – Satish

+0

@Satish - Ce sont des problèmes d'espace de noms. Il n'y a pas de solution facile, autre que de le mettre dans un autre projet. –

+0

EF sonde l'assemblage pour les classes correspondant aux noms recherchés –

Questions connexes