I Klassen Produkt- und Shop haben, die zu viele Beziehung viele habenProblem Löschvorgang in viele zu viele Beziehung
Ich möchte Löschen von Speicher nicht löschen von verwandten Produkt verursachen und Löschen von Produkt nicht zu verursacht das Löschen von verwandten Geschäften.
Derzeit Löschen von Entity Ursache Ausnahme wegen Fremdschlüsseleinschränkung.
Hier ist diese Klassen und deren Abbildung in fließend 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();
}
}
Danke, Alexey Zakharov