我在使用 NHibernate 从 C# 和 MySQL 列表中删除项目时遇到问题。我有一个具有电话列表的提供程序类,当我从该列表中删除电话并呼叫session.Update()
时,它不会删除电话,但是如果我编辑我添加的电话并添加新电话。
我的映射:
public VendorMap()
{
Id(x => x.Id, x =>
{
x.Type(NHibernateUtil.Int32);
x.Column("id");
x.Generator(Generators.Native);
});
Bag(b => b.Phones, x =>
{
x.Inverse(true);
x.Cascade(Cascade.All|Cascade.DeleteOrphans);
x.Key(k => k.Column(col => col.Name("id_vendor")));
}, Action => Action.OneToMany());
Table("vendors");
}
我错过了什么?
我终于找到了问题所在。 在处理电话清单时。 我创建了一个没有已删除电话的新电话列表并分配了它们,而不是从原始列表中删除已删除的电话。