使用 nHibernate 查询对象层次结构时出现问题
问题:
我有对象层次结构A =>; B => C
- 即 A
引用 B
和 B
引用 C
。 C
包含我尝试查询的 Name
属性。我试图调用以下代码来获取 A's
列表,
ICriteria criteria = session.CreateCriteria(typeof (A)).Add(Restrictions.Eq("B.C.Name", "Test"));
return criteria.List<A>();
但收到错误“无法解析属性:A 的 BCName”。我的所有映射看起来都不错,其中 B
包含 C
属性,而 C
包含 Name
属性。我还验证了映射是否正确,因为我正在运行其他查询来成功检索请求的数据。
基本上,我试图获取与 C
中的名称匹配的所有 A
。那么我该如何编写一个可以做到这一点的查询呢?
谢谢,
凯尔
Problem:
I have the object hierarchy A => B => C
- that's A
references B
and B
references C
. C
contains the Name
property I'm trying to query on. I am trying to call the following code to get the list of A's
ICriteria criteria = session.CreateCriteria(typeof (A)).Add(Restrictions.Eq("B.C.Name", "Test"));
return criteria.List<A>();
I receive the error "Could not resolve property: B.C.Name of: A". All of my mappings look good whereby B
contains a C
property and C
contains a Name
property. I've also verified the mappings are correct because I'm running other queries that successfully retrieve the requested data.
Basically, I'm trying to get all the A's
that match the name in C
. So how do I write a query that can do this?
Thanks,
Kyle
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 QueryOver:
您也可以使用别名来完成此操作。
Using QueryOver:
You could also do it with aliases.