@ProX_Alex

Как связать таблицу с собой, и добавить дополнительные данные в EF?

Имеем сущность продукт (изделие). В это изделие могут вставляться дополнительные модули(а могут и не вставляться) которые и сами по себе являются продуктами(изделиями). Так же сам продукт может быть вставлен в другое изделие :
public class Product : INotifyPropertyChanged
    {
        public int ProductId { get; set; }

        /// <summary>
        /// В какие модули можно вставлять
        /// </summary>
        public virtual ObservableCollection<Product> ForProducts { get; set; }


        /// <summary>
        ///  Какие модули можно вставлять в меня
        /// </summary>
        public virtual ObservableCollection<Product> AddModules {get; set;}

.....другие поля


через FluentApi настраиваем отношения

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Product>().HasMany(x => x.AddModules).WithMany(y => y.ForProducts)
                .Map(x => x.ToTable("ProductToProduct"));
        }


Все замечательно, все работает. Но необходимо добавить в связующую таблицу дополнительные данные, например
//сколько штук данного продукта(изделия) можно вставить в другой продукт(изделие)
public int Count {get;set;}

// единица измерения (штуки, комплекты и тд.)
public string Unit{get;set;}

...


я хочу получить отношение многие ко многим сущности Product к самому себе, через дополнительную таблицу, в которую можно добавить дополнительные столбцы.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы