|
|
1
4
你看到的是预期的行为。 查询基类也会查询任何继承的类。 如果有一个显式的nhibernate映射(子类、联合子类等),那么这只是一个查询。否则,它被视为隐式多态定义,并发出两个查询来返回所有查询的结果。
我相信(从文档中,我没有尝试过)通过将类映射为
|
|
2
0
尝试:
您仍然有问题,因为foo和fooudit的标识符不同。如果fooudit是foo的子类,那么它应该具有存储在foo表中的相同标识符。
基于op comment的更新:您当然可以在域模型中有一个继承链,而不需要在nhibnerate中表达它。只需将fooauditmap更改为inherit
但我认为你们之间的关系是一对多的——foo有一组fooaudits——你们应该用这种方式来映射它。 更新2:我之前的语句“但是您对foo类型的对象的查询将不包括任何fooaudit类型,因为nh不知道这种关系。”似乎是错误的。有一种方法可以通过使用 special class property 但这不是一个很好的解决办法。 我认为您最好摆脱继承,让两个类都实现一个接口或将公共属性映射为组件。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |