我正在尝试使用一些测试数据为开发数据库播种。
我已经用context.People.AddOrUpdate(p => p.Id, people));
了很多成功。
我还有另一个表需要种子,我不知道其中的主键。
例如,我想基于名字和姓氏匹配来添加或更新。
我不确定如何正确编写表达式。
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
显然是不正确的,但我希望它能传达我正在寻找的解决方案。
我正在尝试使用一些测试数据为开发数据库播种。
我已经用context.People.AddOrUpdate(p => p.Id, people));
了很多成功。
我还有另一个表需要种子,我不知道其中的主键。
例如,我想基于名字和姓氏匹配来添加或更新。
我不确定如何正确编写表达式。
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
显然是不正确的,但我希望它能传达我正在寻找的解决方案。
Answers:
试试这个:
context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
context.People.AddOrUpdate(p => new { p.Birthdate }, people)
?
如果Only primitive types or enumeration types are supported in this context.
由于使用导航属性而获得了-考虑将外键属性直接添加到实体(可能仅使用getter),并按照Ladislav Mrnka的建议使用它。
code first
?我有context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
什么样的结构?这有可能
The specified type member 'NameId' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
怎么办?