我有兩個代碼拳頭波蘇斯(特派員和案例):定義一個對一個在EF代碼首先用流利的API
public class Appointee
{
public int ID { get; set; }
public string ProfileID { get; set; }
public int? CaseID { get; set; }
public string FistName { get; set; }
public string LastName { get; set; }
public DateTime Dob { get; set; }
public string Ssn { get; set; }
public string GrantNumber { get; set; }
public virtual Case Case { get; set; }
}
public class Case
{
[Key]
public int CaseID { get; set; }
public string ProfileID { get; set; }
public int PSCStatusID { get; set; }
public virtual Appointee Appointee { get; set; }
}
在我們的術語特派員與檔案的代名詞。所以我們Appointtee的[Key]是ProfileID。
被任命者不必分配一個案例,所以我將CaseID設置爲可爲空的int - int ?.
從這我得到的錯誤,類似,EndPoint無法確定案例和被任命人之間。
我認爲問題在案例中。 ProfileID是Appointtee的外鍵,應該是Virtual Appointtee Property的導航屬性。 但我不認爲它理解導航道具不是AppointeeID,而是ProfileID。
所以我把這個在的DbContext:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Appointee>().HasKey(a => a.ProfileID);
modelBuilder.Entity<Case>().HasKey(c => c.CaseID);
modelBuilder.Entity<Case>().HasRequired(c => c.Appointee);
modelBuilder.Entity<Appointee>().HasOptional(a => a.Case);
}
現在,我得到:無效的列名稱Appointee_ProfileID「。
如何正確設置它。
我敢打賭,這將有助於:http://stackoverflow.com/questions/7055962/entity-framework-4-1-invalid-column-name – joelmdev 2015-02-10 01:10:14