我在更新从另一个类继承的外键上的值时遇到问题。我正在使用 Entity Framework 中的分离对象,所以我使用 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; }
}
冲浪活动类:
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)
)
);
}
我只能在 Activity 中关联 Company 属性,但不能关联 SurfingActivity 的天气。当我传递 SurfingActivity 的值时,Id、Name、Company 和 Comment 是否会保存在 Activity 表和 SurfingActivity 表中,但不会保存在天气中。有没有人有任何建议如何解决这个问题而不必在 Project 上创建一个包含 surfingActivity 列表的新属性