2010-12-01 5 views
2

l'erreur se produit dans cette ligne:étrange erreur LINQ to SQL

OldPerson.PersonSerial = context.DB.Persons.Max(Function(p) p.PersonSerial) + 1 

Impossible de trouver le membre clé 'ID' de la clé 'ID' du type 'Nationalité'. La clé est peut-être incorrecte ou le champ ou la propriété dans 'Nationalité' a changé de nom.

Il existe une table de personne contenant une clé étrangère à la table de nationalité. j'ai vérifié que les noms de colonnes correspondent

ce qui pourrait être la cause de cette erreur?

+1

Y a-t-il ici une classe de base dans le mix? http://connect.microsoft.com/VisualStudio/feedback/details/480761/linq-to-sql-xml-mapping-association-key-to-different-member-name-than-column-name-throws-invalidoperationexception –

+0

oui la personne et la nationalité héritent d'une classe de base –

+0

@Marc Gravell: mec comment l'avez-vous compris à la volée! –

Répondre

2

ressemble à partager une classe de base pour les classes générées linq partielle est à l'origine de ce problème. J'ai supprimé l'héritage de la classe de base et cela a fonctionné. Aucune idée pourquoi, bien que!

+0

Le scénario n'est pas supporté. – leppie