对于从另一个类继承的外键更新值,我有问题。我在实体框架中使用分离的对象,所以我使用graphdiff来处理它。
我简化了代码,使其更容易阅读
项目班:
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; }
}使用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表中。有没有人建议如何解决这个问题,而不必在项目上创建一个包含surfingActivity列表的新属性
发布于 2014-11-04 09:56:23
我在GraphDiff中询问了andypelzer,这是目前不支持的。在这种情况下(但如果实体变得更加嵌套),我的工作是将外键属性添加为数据类型它是什么,并将数据注释ForeignKey添加到该实体的外键中,如下所示:
public System.Guid? Weather_Id { get; set; }
[ForeignKey("Weather_Id")]
public virtual Weather Weather { get; set; }https://stackoverflow.com/questions/26711994
复制相似问题