簡體   English   中英

輸入實體后,實體框架外鍵為空

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM