我剛剛升級到最新的EF 4.1代碼優先使用的NuGet現在我收到關於我的映射錯誤。EF 4.1的EntityType沒有密鑰 - 複合
我有這個類
public class UserApplication
{
[Key, Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int UserId { get; set; }
[Key, Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ApplicationId { get; set; }
[ForeignKey("ApplicationId")]
public virtual Application Application { get; set; }
public DateTime SubscribedDate { get; set; }
}
而且我收到此錯誤:
System.Data.Edm.EdmEntityType: : EntityType 'UserApplication' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet 'UserApplications' is based on type 'UserApplication' that has no keys defined.
我可以然而使它工作使用這樣
modelBuilder.Entity<UserApplication>().HasKey(obj => new {obj.UserId, obj.ApplicationId });
的流暢API怎麼來EF不拿起我已經使用註釋定義組合鍵? 我敢肯定,這與使用舊的EF 4.1工作。
有你你有沒有找到一個解決同樣的問題 – Pandincus
不,我沒有在最後,我決定來定義所有使用DbModelBuilder – kfuglsang
同樣的問題的關鍵,有趣的部分是我有兩個類複合鍵,一個彙總,其他沒有.. –