Попытка установить связь между двумя классами. БД уже существует. не могу заставить отношения идти в обе стороны
Пробные аннотации данных меняются местами при изменении ForeignKey
на InverseProperty
переключении между строкой fk и свойством навигации
Вот два класса
public class Item_Customer : BaseClass
{
public Item_Customer() { }
[MaxLength(36)]
[Key]
public string Cust_Item_ID { get; set; }
[MaxLength(255)]
public string Customer_Item_No { get; set; }
public bool Active { get; set; }
[MaxLength(36)]
public string fk_Cust_ID { get; set; }
[MaxLength(36)]
public string fk_Item_ID { get; set; }
//Related Data
[ForeignKey("fk_Cust_ID")]
public virtual Customer Customer { get; set; }
[ForeignKey("fk_Item_ID")]
public virtual Item Item { get; set; }
}
public class Item : BaseClass
{
public Item() { }
[MaxLength(36)]
public string fk_Company_ID{ get; set; }
[MaxLength(36)]
[Key]
public string Item_ID { get; set; }
[MaxLength(255)]
public string Item_No { get; set; }
[MaxLength(255)]
public string Description { get; set; }
public bool Active { get; set; }
[MaxLength(3)]
[RegularExpression("RM|RRM|FG|WIP")]
public string Class { get; set; }
[MaxLength(36)]
public string fk_Category_ID { get; set; }
//RELATED DATA
[ForeignKey("fk_Item_ID")]
public virtual ICollection<Item_Customer> Customer_PartNos { get; set; }
}
Элемент может иметь несколько customer_item. customer_items может иметь только один Item
, оба корабля отношений основаны на Item_Id
Я продолжаю получать эту ошибку 'There are multiple ForeignKeyAttributes which are pointing to same set of properties - '{'fk_Item_ID'}' on entity type 'Item_Customer'.'
В моем случае использования, когда я получаю Item
Я хочу все связанные Customer_Items
с и .Include(i => i.Customer_PartNos)
, и когда я выбираю Customer_Items
, я хочу связанный Item
, когда я использую .Include(i => i.Item)