2016-04-01 59 views
0

當前,我正在創建一個項目,遵循'MVC Music Store'教程,當創建「ShoppingCartViewModel」視圖時,它始終顯示錯誤告訴我沒有密鑰定義。 的錯誤信息是:實體type'ShoppingCartViewModel」沒有定義的關鍵....當爲視圖模型創建視圖時出現「No Key Defined」錯誤消息

下面是本教程的原代碼:

namespace MyMVStore.ViewModels 
{ 
    public class ShoppingCartViewModel 
    { 

     public List<Cart> CartItems { get; set; } 
     public decimal? CartTotal { get; set; } 
    } 
} 

這裏是我更新:

//[NotMapping] 
namespace MyMVStore.ViewModels 
{ 
    public class ShoppingCartViewModel 
    { 
     [Key] //my code 
     public int Id { get; set; } // my code 
     public List<Cart> CartItems { get; set; } 
     public decimal? CartTotal { get; set; } 
    } 
} 

我把[Key]和Id放到模型上,似乎不起作用。我也嘗試添加[Notmapping],但它也不起作用。當我試圖爲這個模型創建視圖時,仍然顯示錯誤消息。

+0

視圖模型不需要[[Key]'屬性(僅與數據模型/ EF關聯)。你似乎將這種模式與EF聯繫起來。 –

+0

當我創建視圖時,我嘗試將視圖與模型綁定(我從「模型類」下拉列表中選擇模型,然後在數據上下文類中只有兩個選擇:我的選項是EF。對,與EF有關 –

+0

@HelenZH,你找到了這個問題的答案或解決方法嗎?我也有這個問題 –

回答

1

您只需從下拉列表中刪除DataContext類。這是一個可編輯的下拉菜單,因此您可以突出顯示並刪除它。
這樣做後,它工作正常。

+0

當我刪除它時,「添加」按鈕被禁用,不會讓我創建views。我使用EF6,但我沒有直接綁定數據模型,而是一個視圖模型,其中包含一些我只想在視圖中顯示和編輯的屬性,這些字段也有數據註釋。 –