2012-08-14 55 views
3

我想創建我的第一個MVC類和我有一個問題開始。 我使用一個共享的數據庫,在我的託管帳戶,並創建了以下類當添加控制器無法獲取元數據mvc4

namespace MvcApplication2.Models 
{ 
    public class tUsers 
    { 

      public int UserID { get; set; } 
      public string Username { get; set; } 
      public string UserEmail { get; set; } 
      public string UserPassword { get; set; } 
      public int GroupId { get; set; } 


    } 

    public class tUsersDBContext : DbContext 
    { 
     public DbSet<tUsers> tUsers { get; set; } 
    } 
} 

,這裏是我的連接字符串

<add name="DefaultConnection" connectionString="Data Source=gdfgdfgdfg;Initial Catalog=fsdf_fdsf;Persist Security Info=True;User ID=ddd_reddntal;Password=fgfggfdg" providerName="System.Data.SqlClient" /> 

錯誤我得到的是

無法檢索元數據模型生成過程中檢測到「mvcapplication2.models.tusers」的一個或更多 驗證錯誤爲:

實體類型用戶沒有防守密鑰。

還做我的模型名需要精確匹配我的表名?

回答

5

實體框架不能識別你的tUsers類的主鍵屬性。使用Key屬性註釋UserID屬性。如果您的表名稱與類名稱不同,請使用Table屬性指定表名稱。

嘗試使用正確的命名約定的類名稱。在這種情況下,它應該是User而不是tUsers

[Table("MyTableName")] 
public class tUsers 
{  
     [Key] 
     public int UserID { get; set; } 
     public string Username { get; set; } 
     public string UserEmail { get; set; } 
     public string UserPassword { get; set; } 
     public int GroupId { get; set; } 
} 
+3

它可以自動找到主鍵,如果你的名字列ID,而不是用戶ID,但我個人從來沒有使用它,只是爲了讓你知道 – 2012-08-14 06:42:20

+0

這個偉大的工作,但現在我得到以下錯誤CREATE DATABASE權限在數據庫'master'中被拒絕。 – 2012-08-14 21:54:52

+0

@bugz檢查[this](http://stackoverflow.com/q/11135823/60108)的問題。 – Eranga 2012-08-14 22:09:57

0

請確保您已將ID定義爲表格中的主鍵,並確保您已正確定義了模型類的屬性。除了應用程序提供的DefaultConnection外,還請將適當的連接字符串添加到配置文件中。我希望這將有所幫助。

感謝