如何在 EF 4.3 中使用具有复杂键的 AddOrUpdate 为数据设定种子
本文关键字:AddOrUpdate 复杂 数据 种子 EF | 更新日期: 2023-09-27 18:31:36
我正在尝试用一些测试数据为开发数据库播种。
我使用context.People.AddOrUpdate(p => p.Id, people));
取得了很大的成功。
有另一个需要播种的表,其中我不知道主键。
例如,我想根据名字和姓氏匹配来添加或更新。
我不确定如何正确编写表达式。
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
显然是不正确的,但我希望它能传达我正在寻找的解决方案。
试试这个:
context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
如果您因为使用导航属性而获得Only primitive types or enumeration types are supported in this context.
- 请考虑将外键属性直接添加到实体(可能仅使用 getter)并按照 Ladislav Mrnka 的建议使用它。