2013-08-12 35 views
1

我收到有關列「User_Id」的異常,我在我的數據庫或代碼中沒有任何地方。它只是表現出來......問題是什麼?有什麼建議麼 ?當我想添加一些東西時,我會得到這個異常。無效的列名「User_Id」

 protected override void BaseAdd(Meal entity) 
     { 
      using (var context = new ProjectContext()) 
      { 
       context.Meals.Add(entity); 
       context.SaveChanges(); //here is where I get the exception 
      } 
     } 
+0

餐食表中是否有ID /主鍵列? –

+0

在「User_Id」的整個解決方案中進行搜索 - 它幾乎肯定存在於某處。但是根據您提供的代碼,我們沒有機會找到它。 –

+0

@Damien_The_Unbeliever代碼中的任何地方都不會有'User_Id'。看到我的答案。 – sed

回答

4

你有USER_ID因爲你繪製了User可以有多個Meals在你的POCO像這樣。

public class User 
{ 
    public int Id { get; set; } 
    public int Name { get; set; } 

    public ICollection<Meal> Meals { get; set; } 
} 

正因爲如此EF自動假定Meal將與User 1一對多的關係。

我建議你先做update-database -v -f以確保你的數據庫設置正確。其次 - 我強烈建議在您的POCO中製作關係型ID,這樣您的POCO數據庫就是1-1,並且您不會得到像這樣的驚喜。