Как сделать много-много отношений в одной и той же таблице

Как сделать много-много отношений в одной и той же таблице

У меня есть название модели продукта, я хочу добавить больше продуктов

хочу создать дополнительную таблицу, где будут два поля 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");
    }
}
Другие вопросы по тегам