任何人都知道如何对以下案例进行条件查询?
我有两个班级:
classA
{
int Id;
string name;
string surname;
string myproperty;
classB classbId;
}
classB
{
int Id;
string property1value;
string property2value;
}
有SQL Query:
SELECT a0.name,
a0.surname,
(SELECT a2.myproperty from classB b1
inner join classB b2 on b1.property1value= b2.property2value
inner join classA a1 on b1.Id = a1.classbId
inner join classA a2 on b2.Id = a2.classbId
where a1.Id = 7) as subSelect
FROM classA a0
where a0.Id = 7
有一个项目被定义为:
ProjectionList proj = Projections.ProjectionList();
我需要的是创造这样的东西:
DetachedCriteria subqueryCriteria = DetachedCriteria.For(typeof(???))
.SetProjection(Projections.Property("a2.myproperty"))
?????
?????
然后将其添加到项目中:
proj.Add(Projections.SubQuery(subqueryCriteria), "MyProperty");
所以我可以将它添加到我现在的主查询中:
.CreateCriteria<'classA>("a0")
.CreateAlias("classB", "b0", JoinType.InnerJoin)
.SetProjection(proj)
属性名称和姓氏包括在:
proj.Add(Projections.Property(name/surname));
但是没关系,问题是:如何翻译subSelect以便它可以工作? 感谢您的帮助。