Това може да се случи, ако имате свойства за обратна навигация в contractors клас, така:
public partial class contractors
{
//...
public virtual ICollection<a> aCollection { get; set; }
public virtual ICollection<a> aCollection1 { get; set; }
}
В този случай EF няма да знае кой принадлежи към кое свойство за навигация в клас a и приемете четири връзки вместо две (или три вместо две, ако имате само една колекция). Тези допълнителни връзки ще имат отделен външен ключ и един от тях е contractors_id . Ако това не съществува в базата данни, получавате изключение.
Можете да коригирате проблема, като приложите InverseProperty атрибут в клас a :
[InverseProperty("aCollection")]
public virtual contractors contractors { get; set; }
[InverseProperty("aCollection1")]
public virtual contractors contractors1 { get; set; }