J'essaie de semer une base de données de développement avec des données de test.
Je l'ai utilisé context.People.AddOrUpdate(p => p.Id, people));
avec beaucoup de succès.
J'ai une autre table que je dois amorcer, dans laquelle je ne connais pas la clé primaire.
Par exemple, je voudrais AddOrUpdate basé sur le prénom et le nom correspondant.
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.
c#
entity-framework-4.3
seed
linq-expressions
ef-migrations
Keith Sirmons
la source
la source
context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
-à- dire ?context.People.AddOrUpdate(p => new { p.Birthdate }, people)
?Si vous avez obtenu une
Only primitive types or enumeration types are supported in this context.
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 l'a proposé.la source
code first
approche? J'ai une structure commecontext.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
? C'est possibleThe specified type member 'NameId' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.