1

関連付けを持つエンティティ (Book.Publisher など) がある場合、新しい Book を保存して既存の Publisher に関連付けるにはどうすればよいですか?

ところで、モデルで FK アソシエーション (つまり、PublisherId) を公開したくありません。

私はこのようなものを使用していました:

var book = new Book { Title="whatever", Publisher = new Publisher { Id = 42 } };
context.Books.Add(book);

ただし、これは新しい発行元を追加しようとするだけです。

ObjectStateManager.ChangeObjectState の使用を提案するこの質問を見ましたが、これを試してみるとエラーが発生します - ObjectStateManager には、「Blah.Publisher」タイプのオブジェクトへの参照を持つ ObjectStateEntry が含まれていません。

4

1 に答える 1

3
var pub = new Publisher { Id = 42 };
context.Publishers.Attach(pub);
var book = new Book { Title="whatever", Publisher = pub };
context.Books.Add(book);
于 2010-09-03T15:21:49.903 に答える