Cómo sembrar datos con AddOrUpdate con una clave compleja en EF 4.3


Estoy tratando de sembrar una base de datos de desarrollo con algunos datos de prueba.

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 primaria.

Por ejemplo, me gustaría AddOrUpdate basado en los nombres y apellidos que coinciden.

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.

Author: abatishchev, 2012-04-19

2 answers

Prueba esto:

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
 194
Author: Ladislav Mrnka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-19 20:51:32

Si obtuvo 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 getter) y utilícela como Ladislav Mrnka propuesto.

 1
Author: lukyer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-17 12:28:24