0
我正面臨EF7反轉屬性的問題。有兩個像這樣連接的實體。InverseProperty實體框架7
public class Employee
{
public int Id { get; set; }
}
public class Review
{
public int Id { get; set; }
[Required]
public virtual Employee Employee { get; set; }
[Required]
public Employee Manager { get; set; }
}
我想,當我開始詢問我的員工訪問的評論列表,所以我試圖做到這一點:
public class Employee
{
public Employee()
{
Reviews = new List<Review>();
}
public int Id { get; set; }
[InverseProperty("Employee")]
public virtual ICollection<Review> Reviews { get; set; }
}
這樣,查詢質量不好,並返回該錯誤:
Invalid column name 'EmployeeId1'
。
這是哪裏出了錯誤的查詢部分:
SELECT [ua].[Id], [r].[EmployeeId], [r].[EmployeeId1], [r1].[EmployeeId], [r1].[EmployeeId1]
FROM [UserAssessment] AS [ua]
LEFT JOIN [Review] AS [r] ON [ua].[ReviewId] = [r].[Id]
LEFT JOIN [Review] AS [r1] ON [ua].[ReviewId] = [r1].[Id]
任何人都知道我能做些什麼?
UPDATE
此語句生成查詢:
return this.DbSet
.Include(ua => ua.Employee).ThenInclude(t => t.Role)
.Include(ua => ua.Review).ThenInclude(rt => rt.ReviewType)
.Include(ua => ua.Review).ThenInclude(rt => rt.Manager).ThenInclude(r => r.Role)
我有那些相同的includes
訪問,因爲延遲加載不適用於EF7呢。
顯示導致它的錯誤消息和命令。在你的最後,你也可以檢查生成的SQL,看看它顯示了什麼。 –
什麼代碼生成該語句?你使用Code-First?你有沒有嘗試用你的模型創建新的數據庫? – Edin
@Edin,我用生成查詢的語句更新了問題。我使用的是代碼優先,我還沒有嘗試再次生成數據庫,因爲我沒有更改或添加任何字段和表已經在系統的其他部分使用了,所以我可以做一個這樣的劇烈修改。 – BernardoMorais