【发布时间】:2012-08-13 00:12:18
【问题描述】:
我有这个用于 NHibernate 映射:
public AnswerSet_AnswerMap() {
Table("DB.AnswerSet_Answer");
Id(x => x.AnswerSet_AnswerId);
References(x => x.Answer, "BaseAnswerID").LazyLoad(Laziness.NoProxy);
References(x => x.AnswerSet, "AnswerSetID").Fetch.Join();
Map(x => x.Format);
}
它用于“AnswerSet”和“Answer”之间的连接表。答案引用上的 .LazyLoad(Laziness.NoProxy) 在我们的应用程序中是必需的,但它可以防止 AnswerSet_Answer 对象在数据库中被软删除(它在数据库中保持不变)。有谁知道为什么会这样?
【问题讨论】:
-
“软删除”意味着您实际上并未删除该行,而是设置一个列以指示它已“删除”。 NHibernate 不会为您这样做。您是在询问如何级联实际删除?
-
我想是的。我的实际类实现了另一个使其软删除的类,所以我想那是在 NHibernate 之外。
-
“答案参考上的 .LazyLoad(Laziness.NoProxy) 在我们的应用程序中是必需的”
标签: c# asp.net nhibernate proxy lazy-evaluation