嗨,我打算在我的一個項目中測試EF代碼優先。這是我想要的。 我有三個表和結構如下實體框架代碼優先 - 爲此實體類型定義密鑰
public partial class App_user
{
public int id { get; set; }
public string name { get; set; }
public string email_address { get; set; }
public string password { get; set; }
public int user_type { get; set; }
public List<Role> Roles { get; set; }
}
public partial class Role
{
public int id { get; set; }
public string name { get; set; }
}
public partial class User_role
{
public int user_id { get; set; }
public int role_id { get; set; }
public virtual Role Role { get; set; }
public virtual App_user App_user { get; set; }
}
在第三表不存在主鍵。所以它在運行時會出現錯誤。以下是錯誤消息 -
System.Data.Edm.EdmEntityType: 的EntityType 'USER_ROLE' 已經沒有定義鍵 。定義此 EntityType的密鑰。 System.Data.Edm.EdmEntitySet: EntityType:EntitySet User_roles 基於沒有定義 鍵的User_role類型。
它爲什麼會發生?有沒有解決方案?
[Key,ForeignKey(「App_user」),列(Order = 0) ] - 與它一起使用的命名空間是什麼? – Mukesh 2011-03-30 07:46:44
System.ComponentModel.DataAnnotations(它也有單獨的程序集)。 – 2011-03-30 10:19:36
@LadislavMrnka,我似乎不應用'[Key,ForeignKey(「App_user」),Column(Order = 0)]',只有[Key]可用,我錯過了什麼?謝謝。 – Abhijeet 2012-12-13 05:39:52