[英]Entity Framework foreign key null remained as entity entered
我有如下两节课。
public class Quest
{
public int ID{ get;set; }
public string Objective
{
get;
set;
}
public DateTime StartDate
{
get;
set;
}
public string Story
{
get;
set;
}
public virtual QuestLocation Location
{
get;
set;
}
}
public class QuestLocation
{
public DateTime CreateDate
{
get;
set;
}
public int ID
{
get;
set;
}
public double Latitude
{
get;
set;
}
public double Longitude
{
get;
set;
}
public virtual Quest Quest
{
get;
set;
}
}
我创建了一个Quest的新实例,然后设置了Quest的location属性,只是创建了QuestLocation类的新实例。
Question q = new Question();
q.StartDate = DateTime.Now;
q.Objective = "foo";
q.Location = new QuestLocation(){ CreateDate = DateTime.Now, Latitude = 10 , Longitude = 10 };
And add newly created Quest into Database :
DataContext.Quests.Add(q);
DataContext.SaveChanges();
当我查看数据库时,将创建到目前为止已初始化的每个对象。 但是,QuestLocation的外键“ Quest_ID”保持为NULL。 我该如何解决这个问题?
您必须在questlocation对象上设置一个quest_id。 将数据库中的外键字段(quest_id)设置为非null也是一种好习惯。
Question q = new Question();
QuestionLocation qL = new QuestLocation(){ CreateDate = DateTime.Now, Latitude = 10 , Longitude = 10 };
q.StartDate = DateTime.Now;
q.Objective = "foo";
q.Location = qL;
//And add newly created Quest into Database :
DataContext.QuestLocations.Add(qL);
DataContext.SaveChanges();
DataContext.Quests.Add(q);
DataContext.SaveChanges();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.