How to seed data with AddOrUpdate with a complex key in EF 4.3
I am trying to seed a development database with some test data.
I have used context.People.AddOrUpdate(p => p.Id, people));
with much success.
I have another table that I need to seed, in which I would not know the primary key.
For example, I would want to AddOrUpdate based on the First and Last names matching.
I am unsure how to write the Expression correctly.
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
is obviously incorrect, but I hope it conveys the solution I am looking for.
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.