我有兩個方法,不喜歡重複重複:如何避免與QueryOver
public Order LatestOrderOver(decimal amount)
{
return session.QueryOver<Order>()
.Where(o => o.Amount > amount)
.OrderBy(sr => sr.CompleteUtcTime).Desc
.Take(1)
.SingleOrDefault<Order>();
}
public Order LatestAmericanOrderOver(decimal amount)
{
return session.QueryOver<Order>()
.Where(o => o.Amount > amount && o.Country == "USA")
.OrderBy(sr => sr.CompleteUtcTime).Desc
.Take(1)
.SingleOrDefault<Order>();
}
什麼是避免重複,當你有類似的標準(在WHERE子句中)使用的最佳方法在QueryOver和類似的選項結束?
爲什麼不直接使用''FirstOrDefault從'NHibernate.Linq'命名空間,而不是'取(1).SingleOrDefault()'()?注意:我不是一個喜歡玩的人。 – hIpPy
@hIpPy這不是Linq,而是一個QueryOver API。這些方法看起來像Linq方法。所有這些都在'IQueryOver'接口上定義,它不從'IEnumerable'或'IQueryable'繼承。 –