1
我在更新从另一个类继承的外键上的值时遇到了问题。我正在使用实体框架中的分离对象,所以我使用graphdiff来处理它。使用graphdiff和Entity Framework将外键关联到继承对象
我已经简化了代码,使其更易于阅读
项目类:
public class Project
{
public Guid Id { get; set; }
public virtual List<Activity> Activities { get; set; }
}
活动类:
public class Activity
{
public Guid Id { get; set; }
public String Name { get; set; }
public virtual Company Company { get; set; }
}
SurfingActivity类:
public class SurfingActivity : Activity
{
public String Comment { get; set; }
public virtual Weather Weather { get; set; }
}
更新TE环境中使用graphdiff:
public void UpdateActivity(Project project)
{
this.UpdateGraph(project, map => map
.OwnedCollection(p => p.Activities, with => with
.AssociatedEntity(a => a.Company)
)
);
}
我只能给公司财产在活动相关联,但不是天气SurfingActivity的。当我传递SurfingActivity的值时,Id,Name,Company和Comment会保存在Activity表和SurfingActivity表中,但不是天气。有没有人有任何建议如何解决,而无需创建包含surfingActivity