У меня возникла проблема с обратным свойством EF7. Есть два объекта, которые связаны таким образом.InverseProperty Entity Framework 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