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