Этот вопрос является обобщением моего предыдущего вопроса:Ошибка в LINQ (столбец не существует) при использовании Entity Framework
Error in LINQ when work with PostGreSQL by Entity Framework
У меня есть предположение, что, если между 2 таблицы существуют более 1 соотношение (7 для моего примера), EF попытается нормализовать эту таблицу, добавив дополнительный столбец.
Например, модель А:
public partial class a
{
[Key]
public int id { get; set; }
[ForeignKey("contractors"), Column(Order = 0)]
public Nullable<int> ot_contractor_id { get; set; }
[ForeignKey("contractors1"), Column(Order = 1)]
public Nullable<int> gvo_contractor_id { get; set; }
public virtual contractors contractors { get; set; }
public virtual contractors contractors1 { get; set; }
}
Таблица [а] имеет отношение к таблице [подрядчики] [ID] Таким образом, EF генерируют столбец "contractors_id" и "contractors1_id"..
Другие таблицы имеют только 1 отношение, и они работают нормально!
Вопрос: Правильно ли эта гипотеза ?! И проблема избыточного столбца исходит из ненормальных таблиц с несколькими отношениями? Спасибо!
Спасибо за ваш ответ! Я попробую это завтра! Я расскажу о результатах. – Oleg
Спасибо! Это действительно работает! – Oleg