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