How to seed data with AddOrUpdate with a complex key in EF 4.3

Keith Sirmons picture Keith Sirmons · Apr 19, 2012 · Viewed 34.1k times · Source

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.

Answer

Ladislav Mrnka picture Ladislav Mrnka · Apr 19, 2012

Try this:

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