It seems that in some cases field aliases are ignored.
The WhereExpression below in my opinion should be "WHERE (TheAlias>@0) AND (1=1)".
ServiceStack.Ormlite v5.9.0 with SqlServer2012OrmLiteDialectProvider
public class AutoQueryService : Service
{
public IAutoQueryDb AutoQuery { get; set; }
public object Any(MyClassQuery dto)
{
using (var db = AutoQuery.GetDb(dto, Request))
{
var q = AutoQuery.CreateQuery(dto, Request, db)
.Ensure(x => x.TheField > 0);
Debug.Print("WhereExpression: {0}", q.WhereExpression); // -> "WhereExpression: WHERE (TheField>@0) AND (1=1)"
return AutoQuery.Execute(dto, q, Request, db);
}
}
}
public class MyClass
{
public int Id { get; set; }
[Alias("TheAlias")]
public int TheField { get; set; }
}
public class MyClassQuery : QueryDb<MyClass> { }
It seems that in some cases field aliases are ignored. The
WhereExpression
below in my opinion should be "WHERE (TheAlias>@0) AND (1=1)".