我有一个班级A
,其中包含一个班级B
,其中包含一个属性为C
的班级P
。所以这样的事情不应该起作用吗?:
var query = Session.CreateCriteria(typeof(A));
query.Add(Expression.InsensitiveLike(
Projections.Cast(NHibernateUtil.String,
Projections.Property("B.C.P")),
"%bla%", MatchMode.Exact));
我收到could not resolve property
例外。
我知道我可以使用CreateAlias
等,我也尝试过无效。目前我选择了“隐式关联加入”。
非常感谢任何反馈。非常感谢。
克里斯
答案 0 :(得分:2)
CreateAlias(或CreateCriteria)是唯一的方法。
var query = Session.CreateCriteria<A>()
.CreateAlias("B", "B")
.CreateAlias("B.C", "C");
query.Add(Expression.InsensitiveLike(
Projections.Cast(NHibernateUtil.String,
Projections.Property("C.P")),
"%bla%", MatchMode.Exact));