いくつかのテストデータを使用して開発データベースをシードしようとしています。EF 4.3で複雑なキーを持つAddOrUpdateでデータをシードする方法
context.People.AddOrUpdate(p => p.Id, people));
私は多くの成功を収めています。
私には、プライマリキーがわからない別のテーブルがあります。
たとえば、私はFirst and Last namesに一致するAddOrUpdateが必要です。
Expressionを正しく書き込む方法がわかりません。
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
明らかに間違っていますが、私が探している解決策を伝えたいと思います。あなたが原因ナビゲーションプロパティを使用してのOnly primitive types or enumeration types are supported in this context.
を得た場合
context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
@LadislavMrnka何識別子は複合型すなわち 'context.People.AddOrUpdate(P =>新しい{p.Name.FirstName、p.Name.LastName}人)'する必要がありますか? – gabe
@ LadislavMrnkaまた、プロパティがnull可能な型の場合はどうなりますか? context.People.AddOrUpdate(p =>新しい{p.Birthdate}、people) '? – stack247
ここで注意しなければならないのは、 'people'コレクションがリストではなくARRAYである必要があるということです。エンティティのリストがある場合は、単にリストの.ToArray()を呼び出すことができます。私はその1つと苦労した:) - 良い答え –