1

如果我有一个具有关联的实体(例如 Book.Publisher),我如何保存新书并将其与现有出版商关联?

顺便说一句,我不想​​在我的模型中公开 FK 关联(即 PublisherId)。

我一直在使用这样的东西:

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

但这只是试图添加一个新的发布者。

我看到了这个建议使用 ObjectStateManager.ChangeObjectState 的问题,但如果我尝试这个,我会得到一个错误 - ObjectStateManager 不包含一个 ObjectStateEntry,它引用了一个“Blah.Publisher”类型的对象。

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 回答