2011-07-22 39 views
0

我想學習MVC3。我只是在嘗試將用戶添加到數據庫。實體框架添加用戶數據庫錯誤

db.U1_Users.Add(u1_Users); 
db.SaveChanges(); 

當它進入保存時發生錯誤。 我這是添加功能的問題。

我得到的錯誤

InnerException = {"Cannot insert the value NULL into column 'U1_UserID', table 
'Admin.dbo.U1_User'; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated."} 

編輯

U1_UserID是主鍵。

這是模型:

public class U1_User 
    { 

     public int U1_UserID { get; set; } 
     public string U1_UserName {get;set;} 

    } 
+0

這是因爲你的模型定義有一個問題,請您發佈模型類的源代碼。 – dknaack

回答

0

所需..

[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
0

看起來非常簡單的給我。您需要確保設置值。如果你希望這是一個自動編號,那麼你需要在你的數據庫上設置它。

在SQL SERVER中,您可以在設計模式下打開表格,轉到表格屬性並選擇列作爲標識列。另外,您應該將該字段設爲主鍵。

+0

如果你在做Entity Framework Code First,這不是一個好主意。 – dknaack

0

發生這種情況會導致您的id特性名稱錯誤。

的命名規則是:

 public int Id { get; set; } 

 public int YourModelNameId { get; set; } 

如果要映射到現有的數據庫有ScottGu's博客文章來看看模型構建器: http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx

以下將工作:

public class U1_Users 
    { 
     [Key] 
     public int U1_UsersID { get; set; } 
     public string U1_UserName { get; set; } 

    } 
+0

U1_UserID是DB中的字段名稱 – Beginner

+0

U1_Users是表名 – Beginner

+0

查看ScottGu的博客。這就是你需要的。我在我的回答中有一個鏈接 – dknaack

相關問題