【发布时间】:2015-01-06 12:18:33
【问题描述】:
我有这些课程:
public class Employee
{
public virtual int Id { get; set; }
public virtual decimal Salary { get; set; }
public virtual decimal Tax { get; set; }
public virtual decimal NetSalary { get { return Salary * (1 - Tax); } }
}
public class EmployeeMap : ClassMap<Employee>
{
WithTable("Employees");
Id(x => x.Id);
Map(x => x.Salary);
Map(x => x.Tax);
}
我正在从数据库中检索员工,如下所示:
var criteria = DetachedCriteria.For<Employee>();
criteria = criteria.AddOrder(Order.Asc(sortProperty)); // sortProperty is a string
现在,如果我想按 Salary 排序,这很有效,但我想按 NetSalary 排序。我将如何实现这一目标?我无法更改数据库。我发现Order.Asc() 的过载会导致投影。我确定我必须在该标准中创建一个投影并将其提供给那里,但我没有找到有关如何执行此操作的信息。
【问题讨论】:
标签: c# nhibernate orm projection