如何在 EF 4.3中使用复杂的键使用 AddOrUpdate 为数据播种

我正在尝试用一些测试数据建立一个开发数据库。

我已经成功地使用了 context.People.AddOrUpdate(p => p.Id, people));

我还有另一个需要播种的表,在这个表中我不知道主键。

例如,我希望基于名字和姓氏匹配来进行 AddOrUpdate。

我不确定如何正确地书写表达式。

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

显然是不正确的,但我希望它传达的解决方案,我正在寻找。

35382 次浏览

Try this:

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

If you got Only primitive types or enumeration types are supported in this context. because of using navigation property - consider adding foreign key property directly to the entity (maybe only with getter) and use it as Ladislav Mrnka proposed.