【发布时间】:2011-07-13 10:25:02
【问题描述】:
我有一个类,对应的映射如下:
public class Customer
{
public virtual int CustomerId { get; private set; }
//...
public virtual List<int> Orders { get; set; }
}
public class CustomerMap : ClassMap<Customer>
{
public CustomerMap()
{
Id(x => x.PatientId)
.GeneratedBy.Native();
HasMany(x => x.Orders)
.Element("OrderId", t => t.Type<int>())
.Table("CustomerOrder")
.KeyColumn("CustomerId")
.ForeignKeyConstraintName("FK_Customer_Order")
.Cascade.All();
}
}
假设 Order 类在另一个数据库中,所以我不能在这个程序集中映射它。 (我不确定这是不是最好的方法,请随时对映射发表评论。)
所以我希望能够找到订单超过 N 个的客户,SQL 查询如下所示:
select * from Customer c where
(select count(*) from orders where CutsomerId = c.CustomerId) > N
什么是 Criteria API 等效项?
【问题讨论】:
标签: c# nhibernate criteria-api