【发布时间】:2014-10-06 20:22:31
【问题描述】:
我使用 NHibernate 映射的一个数据库视图似乎有一个奇怪的问题。我正在为我映射的其中一个视图获取重复记录。我有以下视图对象
WorkDetailView
/ \
/ \
/ \
/ \
PickWorkDetailView PutWorkDetailView
每个对象代表数据库中的不同视图,但 PickWorkDetailView 和 PutWorkDetailView 都继承自 WorkDetailView,因为它们共享许多相同的字段。
如果我运行以下代码,我会得到 2 个结果,但如果我在 SQL Management Studio 中运行实际的数据库视图,我会得到 1 个结果。
List<WorkDetailView> workList = session.QueryOver<WorkDetailView>()
.List<WorkDetailView>().ToList();
有趣的是,当我查看上面workList 集合中的所有项目时,我看到一个WorkDetailView 对象和一个PickWorkDetailView 对象。此外,如果我查看 NHibernate 正在运行的查询,它会从所有 3 个视图(WorkDetailView、PickWorkDetailView 和 PutWorkDetailView)中进行选择。这听起来根本不对。如果需要,我可以发布 xml 映射或我的 fluent 映射。
【问题讨论】:
标签: nhibernate fluent-nhibernate