web-dev-qa-db-fra.com

Comment amorcer des données avec AddOrUpdate avec une clé complexe dans EF 4.3

J'essaie de semer une base de données de développement avec des données de test.

J'ai utilisé context.People.AddOrUpdate(p => p.Id, people)); avec beaucoup de succès.

J'ai une autre table que je dois semer, dans laquelle je ne connais pas la clé primaire.

Par exemple, je voudrais AddOrUpdate basé sur la correspondance des noms et prénoms.

Je ne sais pas comment écrire correctement l'expression.

context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);

est évidemment incorrect, mais j'espère qu'il transmet la solution que je recherche.

101
Keith Sirmons

Essaye ça:

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
199
Ladislav Mrnka

Si tu as Only primitive types or enumeration types are supported in this context. en raison de l'utilisation de la propriété de navigation - envisagez d'ajouter une propriété de clé étrangère directement à l'entité (peut-être uniquement avec getter) et utilisez-la comme Ladislav Mrnka proposée.

1
lukyer