【发布时间】:2012-09-11 19:07:52
【问题描述】:
我有一个 Quest 和 QuestTemplate 类,如下所示
public class Quest{
public int ID {get;set;}
public virtual QuestTemplate QuestTemplate {get;set;}
public string Name{get;set;}
}
public class QuestTemplate{
public int ID {get;set;}
public QuestTemplate QuestTemplate {get;set;}
public string Name{get;set;}
public virtual Quest Quest{get;set;}
}
我在运行时创建如下所示的 Quest 和 QuestTemplate
Quest q = new Quest();
q.Name = "Foo";
q.QuestTemplate = new QuestTemplate();
q.QuestTemplate.Name = "Bar";
context.Quests.Add(q);
context.SaveChanges();
它将任务对象和任务模板对象添加到相关表中(本例中为任务,任务模板)。但是问题是表中任务模板对象的 Quest_ID 列没有设置任务对象的 ID。相反,它保持为空。我该如何解决这个问题?
P.S:我首先使用带有代码的 EF5。
最好的问候,
凯末尔
【问题讨论】:
-
是否覆盖数据库默认的 EF 映射配置?
-
nop 我没有做任何特别的事情......我刚刚使用 modelBuilder.Entity
().HasRequired(e => e.QuestTemplate).WithRequiredPrincipal().WillCascadeOnDelete(true ); OnModelCreating 方法。
标签: c# entity-framework entity-framework-5