Ссылка на внешний ключ между свойствами навигации двух объектов - PullRequest
0 голосов
/ 21 октября 2019

Попытка установить связь между двумя классами. БД уже существует. не могу заставить отношения идти в обе стороны

Пробные аннотации данных меняются местами при изменении 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...