在实体框架中更新组合对象

时间:2012-12-12 13:55:21

标签: c# entity-framework-4

我正在使用Entity Framework 4.4,我在使用disconected对象时遇到以下问题。 我有一个类作为属性的另一个实例。当我像这样插入时,一切都很顺利:

var thumbnail = new Thumbnail();
var adn = new Adn { Thumbnail = thumbnail };
var adnRepo = new AdnRepository();
adn = adnRepo.Create(adn);

在这种情况下,adn和缩略图都会持久保存到数据库中。持久化代码如下所示:

context.Set<T>().Add(instance);

问题是当我尝试更新adn时。它适用于标量属性,但我不知道如何使其适用于缩略图。

var adn = new Adn();
var adnRepo = new AdnRepository();
adn = adnRepo.Create(adn);

var thumbnail = new Thumbnail();
adn.Thumbnail = thumbnail;
adn = adnRepo.Update(adn);

更新做了类似的事情:

context.Entry(instance).State = EntityState.Modified;

在这种情况下,adn会被保存,但缩略图不会被保存。

我必须使其有什么替代方法(请注意我的实体没有id字段)

0 个答案:

没有答案