我试图编写一个同时有效地加入和限制的 NHibernate 标准。我的数据库看起来像这样......
案例 ---> CustomerProducts <--- 客户案例 ---> CaseStatuses
每个案例都与一个客户产品相关联(一个产品的多个案例)。
每个客户有多个客户产品(一个客户有多个客户产品)。
每个案例还有一个案例状态(一个案例状态到多个案例)。
这已使用 XML 文件进行映射,案例和客户(通过客户产品)之间的多对多解决方案已通过 CustomerProduct 映射中的 Sets<> 解决,这意味着 CustomerProduct 实体具有集合:
顾客
案例
然后我创建一个键入“案例”的标准。我需要申请的标准是......
状态 IN [各种状态代码]。这已经实现了......
criteria.Add(Restrictions.In("CaseStatus.CaseStatusId", statuses));
现在我只需要为特定客户 ID 选择案例。我试过了...
criteria.Add("CustomerProduct.Customer.CustomerId", customerId);
这不起作用,NHibernate 告诉我它无法解析到 CustomerProduct.Customer.CustomerId 的映射。
Case 具有 CustomerProduct 对象的属性。
CustomerProduct 具有 Customer 对象的属性。
客户具有 CustomerId 的属性。
任何想法为什么它不起作用?
谢谢。