Saya mencoba memasukkan database pengembangan dengan beberapa data uji.
Saya telah menggunakannya context.People.AddOrUpdate(p => p.Id, people));
dengan banyak keberhasilan.
Saya memiliki tabel lain yang perlu saya benih, di mana saya tidak akan tahu kunci utamanya.
Misalnya, saya ingin AddOrUpdate berdasarkan pencocokan nama Depan dan Belakang.
Saya tidak yakin bagaimana menulis Ekspresi dengan benar.
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
jelas tidak benar, tetapi saya harap ini menyampaikan solusi yang saya cari.
c#
entity-framework-4.3
seed
linq-expressions
ef-migrations
Keith Sirmons
sumber
sumber
context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
?context.People.AddOrUpdate(p => new { p.Birthdate }, people)
?Jika Anda mendapatkannya
Only primitive types or enumeration types are supported in this context.
karena menggunakan properti navigasi - pertimbangkan untuk menambahkan properti kunci asing langsung ke entitas (mungkin hanya dengan pengambil) dan gunakan seperti yang diusulkan Ladislav Mrnka .sumber
code first
pendekatan? Saya memiliki struktur seperticontext.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
? Ini mungkinThe specified type member 'NameId' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.