0

別のエンティティのコレクション プロパティを持つエンティティがある場合。新しいエンティティとそれに関連するエンティティを追加する最良の方法は何ですか? 私が抱えている問題は、コレクションが最初は null であることです。

            var form = new Form()
            {
                Name = "TestForm"
            };
            ctx.Forms.Add(form);

            var formField = new FormField()
            {
                Name = "TestField"
            };
            form.FormFields.Add(formField);

            ctx.SaveChanges();

上記の form.FormFields プロパティは null であるため、例外が発生します。リレーションシップを別の方向に設定できることはわかっていますが、FormFields に Form プロパティを定義していません (実際には定義したくありません)。

では、これに対する最もクリーンな解決策は何ですか?

4

1 に答える 1

0

最も簡単な解決策は、次のようにコレクションを初期化することです。

var form = new Form() {
  Name = "TestForm"
  };
ctx.Forms.Add(form);
var formField = new FormField() {
  Name = "TestField"
};
if(form.FormFields == null)
  form.FormFields = new List<FormField>();
form.FormFields.Add(formField);
ctx.SaveChanges();
于 2011-03-25T13:28:19.313 に答える