Estoy tratando de sembrar una base de datos de desarrollo con algunos datos de prueba.
Lo he usado context.People.AddOrUpdate(p => p.Id, people));
con mucho éxito.
Tengo otra tabla que necesito sembrar, en la que no sabría la clave principal.
Por ejemplo, me gustaría AddOrUpdate en función de la coincidencia de los nombres y apellidos.
No estoy seguro de cómo escribir la expresión correctamente.
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
es obviamente incorrecto, pero espero que transmita la solución que estoy buscando.
c#
entity-framework-4.3
seed
linq-expressions
ef-migrations
Keith Sirmons
fuente
fuente
context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
?context.People.AddOrUpdate(p => new { p.Birthdate }, people)
?Si lo consiguió
Only primitive types or enumeration types are supported in this context.
debido al uso de la propiedad de navegación, considere agregar la propiedad de clave externa directamente a la entidad (tal vez solo con el getter) y úsela como propuso Ladislav Mrnka .fuente
code first
enfoque? Tengo estructura comocontext.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
? Es esto posibleThe specified type member 'NameId' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.