1

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

最好是告诉数据库执行级联更新或删除还是告诉 NHibernate 这样做(cascade="all-delete-orphan")?可以同时设置它们吗?

4

2 回答 2

1

我更愿意让 NHibernate 为我做这件事。它更容易设置并且运行良好。

cascade: all-delete-orphan 是在没有触发器的情况下无法在 SQL 中执行的操作,所以还有另一个原因

于 2008-10-03T13:40:26.470 回答
0

可以同时设置它们吗?

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

正如 Ben 所说,让 NHibernate 来做这件事。

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

于 2008-10-18T01:00:30.230 回答