我有(無法更改)EF DataBase第一個項目,沒有模型中的導航屬性。EntityFramework 6 DatabaseFirst從代碼中添加導航屬性
我想延長自動生成的模型和添加導航屬性
- 生成的模型
//generated.cs
public partial class company
{
public int id { get; set; }
public string name { get; set; }
}
public partial class user
{
public int id { get; set; }
public int company_id { get; set; }
}
- 我想從代碼添加導航屬性
//model_extension.cs
public partial class user
{
public company Company { get; set; }
}
我有例外情況「指定的類型成員'公司'在LINQ to Entities中不受支持。只有初始化,實體成員和實體導航屬性都支持。」
我CodeFirst工作之前。
我明白,我必須鏈接到user.company_id公司 但不知道如何使用代碼使這個(不設計師)
你需要的聲音'ICollection':'公共ICollection Company {get;組; }'。您不能直接將模型類定義爲導航屬性,而無需先將其包裝到受支持的集合中。 –
我需要公司。使用公司獲取所有用戶 - db.users.Include(x => x.Company).ToList()。但我不想改變.edmx –
你應該在你的表中有外鍵。 DbFirst將在生成模型時自動創建導航屬性。 – Aby