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

我正尝试用一些testing数据来开发一个开发数据库。

我已经使用了context.People.AddOrUpdate(p => p.Id, people)); 取得很大的成功。

我有另外一张桌子,我需要种子,其中我不知道主键。

例如,我想要基于First和Last名称匹配的AddOrUpdate。

我不确定如何正确写入expression式。

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

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

尝试这个:

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

如果Only primitive types or enumeration types are supported in this context. 由于使用导航属性 – 考虑直接添加外键属性到实体(也许只有getter),并使用它作为Ladislav Mrnka提出。