NHibernate 不删除子对象
我无法让 NHibernate 删除这个子对象,它会在不引发任何异常且不删除任何内容的情况下完成:
public void DeleteW9(int vendorId, int vendorW9Id)
{
var vendor = vendorRepository.Get(vendorId);
var W9 = vendor.W9.Where(x => x.Id == vendorW9Id).First();
vendor.W9.Remove(W9);
vendorRepository.SaveOrUpdate(vendor);
}
这是我的供应商映射:
mapping.HasMany(x => x.W9)
.KeyColumn("VendorFk")
.Cascade.AllDeleteOrphan()
.AsBag();
我的 VendorW9 表包含对 VendorFk 形式的供应商 ID 的引用。我没有设置约束,是否需要设置主键关系? NHibernate 可以很好地处理除删除孤儿之外的所有事情。
I can't get NHibernate to delete this child object, it completes without throwing any exceptions and without deleting anything:
public void DeleteW9(int vendorId, int vendorW9Id)
{
var vendor = vendorRepository.Get(vendorId);
var W9 = vendor.W9.Where(x => x.Id == vendorW9Id).First();
vendor.W9.Remove(W9);
vendorRepository.SaveOrUpdate(vendor);
}
Here's my Vendor mapping:
mapping.HasMany(x => x.W9)
.KeyColumn("VendorFk")
.Cascade.AllDeleteOrphan()
.AsBag();
My VendorW9 table contains a reference to the Vendor's ID in the form of the VendorFk. I have no restraints setup, do I need to setup a primary key relationship? NHibernate functions fine for everything but deleting orphans.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试添加vendorRepository.Commit():
Try adding vendorRepository.Commit():