我正在尝试使用 Criteria 执行以下功能,但它给了我一个运行时错误,指示 SQL 中的错误。
var query = session.CreateCriteria<TableName>()
.Add(Restrictions.Disjunction()
.Add(Restrictions.InsensitiveLike("Property1", keyword, MatchMode.Anywhere))
.Add(Restrictions.InsensitiveLike("Property2", keyword, MatchMode.Anywhere)));
query.SetProjection(Projections.Count(Projections.Distinct(
Projections.ProjectionList()
.Add(Projections.Property("Property1"))
.Add(Projections.Property("Property3"))
)));
表映射如下所示:
public class TableName
{
public int Property1 {get;set;}
public int Property2 {get;set;}
public int Property3 {get;set;}
public int Property4 {get;set;}
}
我需要根据我的预测计算不同的结果,我不想将结果计算为一整行!
谁能帮我解决这个问题?
- - - - - 更新 - - - - -
这就是我想要完成的:
select Count(*)
from
(
select distinct Property1 , Property2
from tableName
where Property1 like '%t%' or Property3 like '%t%'
) As x