如何在SQL Server和NHibernate之间组合级联更新/删除



我正在编写一个具有手工编制的域模型(类)和数据模型(表/关系)的应用程序,并让NHibernate负责映射。

最好是告诉数据库执行级联更新或删除,还是告诉NHibernate执行(级联="所有删除孤立项")?他们能同时做这件事吗?

我更喜欢让NHibernate为我做这件事。它更容易设置,而且效果很好。

cascade:如果没有触发器,在SQL中就无法执行所有删除孤立操作,因此

还有另一个原因

他们能同时做这件事吗?

我认为,如果你尝试,你可能会收到NHibernate的抱怨,因为它的大多数操作都会检查行数,以确保插入/更新/删除了预期的行数。

正如本所说,让NHibernate来做。

最终,NHibernate(以及一般的ORM)让您将数据库视为一种存储和检索机制。您仍然希望创建约束、主键、外键和索引,但ORM无论如何都应该遵守这些规则。与任何数据访问场景一样,如果您发现自己在数据库中创建了复杂的约束,请记住,这些规则必须在应用程序中重复。

最新更新