我有以下的(略)的DbContext:實體框架代碼首先包括方法和失蹤導航屬性
public class O19Context : BaseContext<O19Context>
{
public DbSet<PRJ> O19Set { get; set; }
}
[Table("AUFK")]
public class AUFK
{
[ForeignKey("PRJ_GUID")]
public PRJ PRJ {get; set;}
[Key]
public Guid AUFK_GUID {get; set;}
}
[Table("PRJ")]
public class PRJ
{
[Key]
public Guid PRJ_GUID {get; set;}
public IQueryable<AUFK> AUFKS {get; set;}
}
當我運行下面的代碼:
var db = new O19Context();
var prj = db.O19Set.Include("AUFKS")
.Single(o => o.PRJ_GUID ==
new Guid("6FE5E97B-9970-4E24-B051-9A710C03A030"));
我得到一個無效的包含路徑錯誤。 EntityType PRJ不聲明名稱爲AUFKS的導航屬性。
我哪裏錯了? Pamela
但是AUFKS被定義在PRJ內t O19Content。這是一個剪切和粘貼錯誤? –
它可能被稱爲剪切和粘貼錯誤。我可能應該在AUFK表之前粘貼PRJ表,以減少混淆。但是AUFK被定義爲PRJ的孩子。 – pthalacker
'IQueryable <>'是一個沒有定義寫入方法的接口,實體框架就是簡單的忽略它。您應該將集合類型更改爲可寫的類型,例如'HashSet','ICollection','IList'等。 – haim770