我得類產品和商店具有多對多關係刪除操作問題,在多對多關係
我想店裏的刪除不會導致刪除相關產品的 而且產品沒有的刪除的導致相關商店的刪除。
由於外鍵約束,當前正在刪除實體引起的異常。
下面是這個類及其流利的Hibernate映射:
public class Product
{
public Product()
{
this.StoresStockedIn = new List<Store>();
}
public virtual string Name { get; set; }
public virtual double Price { get; set; }
public virtual long ProductID { get; set; }
public virtual IList<Store> StoresStockedIn { get; set; }
}
public class Store
{
public Store()
{
this.Products = new List<Product>();
this.Staff = new List<Employee>();
}
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
public virtual IList<Employee> Staff { get; set; }
public virtual long StoreID { get; set; }
}
public class ProductMap : ClassMap<Product>
{
public ProductMap()
{
this.Id(x => x.ProductID);
this.Map(x => x.Name);
this.Map(x => x.Price);
this.HasManyToMany(x => x.StoresStockedIn)
.Cascade.None()
.Table("StoreProduct");
}
public class StoreMap : ClassMap<Store>
{
public StoreMap()
{
this.Id(x => x.StoreID);
this.Map(x => x.Name);
this.HasManyToMany(x => x.Products)
.Cascade.None()
.Inverse()
.Table("StoreProduct");
this.HasMany(x => x.Staff)
.Cascade.All()
.Inverse();
}
}
感謝, 阿列克謝·扎哈羅夫