Как сделать много-много отношений в одной и той же таблице
Как сделать много-много отношений в одной и той же таблице
У меня есть название модели продукта, я хочу добавить больше продуктов
хочу создать дополнительную таблицу, где будут два поля producid и product2 M-to-Many
public class Product
{
public virtual int Id { get; set; }
public virtual IList<Product> ManyProduct { get; set; }
}
картографирование
public class ProductMap : ClassMap<Product>
{
public ProductMap()
{
Id(x => x.Id);
Map(x => x.ImageUrl);
HasManyToMany(x => x.ManyProduct)
.Cascade.All()
.Table("ProductInProduct");
}
}
1 ответ
Указать ключевые столбцы вручную
public class ProductMap : ClassMap<Product>
{
public ProductMap()
{
Id(x => x.Id);
Map(x => x.ImageUrl);
HasManyToMany(x => x.ManyProduct)
.ParentKeyColumn("product1_id")
.ChildKeyColumn("product2_id")
.Cascade.All()
.Table("ProductInProduct");
}
}