我有两张桌子:
Receipt
有0…n
ReceiptJournals
此的映射(在
收据
)看起来像:
this.HasMany(x => x.ReceiptJournals).AsSet().Fetch.Select().Inverse().Cascade.Delete();
我使用的底层数据库是SQL Server CE 4.0。
现在,当我执行delete语句时
const string sql = "delete from Receipt where IsFinished = 0 and IsParked = 0";
var query = NHibernateHelper.CurrentSession.CreateSQLQuery(sql);
query.ExecuteUpdate();
我得到一个例外:
无法执行本机批量操作查询:从收据中删除
其中IsFinished=0且IsParked=0[SQL:从Receipt中删除,其中
IsFinished=0且IsParked=0]
系统异常{NHibernate.Exceptions.GenericADOException}
[System.Data.SqlServerCe.SqlCeException]{”Der Prim?rschlsselwert
尽管如此,Schlsel公司的Verweise公司也没有
沃尔汉登有罪。[外键约束名称=
FK_Receipt_ReceiptJournal]“}系统数据.SqlServerCe.SqlCeException
SQL Server CE的NHibernate是否不支持级联删除,或者我做错了什么?