3
我有一个使用NHibernate的多对多关系。在NHibernate中删除多对多关联
是否有更简单的方法从所有产品中删除类别关联而不为Join表创建类?
我想的SQL看起来像
DELETE FROM ProductCategories WHERE CategoryId = 123
,这里是我们使用删除协会
DetachedCriteria fetchCriteria = DetachedCriteria.For<Product>()
.CreateAlias("Categories", "categories")
.Add(Restrictions.Eq("categories.Id", category.Id));
ICollection<Product> products = productRepo.FindAll(fetchCriteria);
foreach(var product in products)
{
product.Categories.Remove(category);
productRepo.Save(product);
}
A产品的代码一组类别
public class Product{
public ISet<Category> Categories
{
get;set;
}
}
一个类别有一个Id Guid属性
public class Category {
public Guid Id {get;set;}
public string Name {get;set;}
}
非常感谢:O)