使用Criteria API,NHibernate中LINQ to SQL查询的正确转换是什么?将LINQ to SQL查询转换为NHibernate(子集合筛选器)
var result = from e in Employees
where e.WorkTimeEntries.Any(t => t.DateTime >= new DateTime(2012, 3, 1))
select e;
我曾尝试:
var employees = Session.QueryOver<Employee>();
var timeWorkedAlias = new HashedSet<WorkTimeEntry>();
var timeWorked = employees.Left.JoinQueryOver(e => e.WorkTimes,
() => timeWorkedAlias);
timeWorkedAlias.Where (wa => wa.DateTime >= new DateTime(2012,3,1));
// How do to include the timeWorkedAlias 'filter' in the query?
var result = employees.List();
我缺少几个步骤,包括日期过滤器将包含在查询中。
与标准的工作是可怕的,为什么不使用linq2nhibernate? – 2012-03-03 09:36:33
@SaeedAmiri,我希望我可以,但是Linq2NHibernate有它自己的限制,我不得不使用标准api :( – 2012-03-03 09:41:34
@Saeed Amiri NHibrnate LINQ提供程序是一个笑话,如果我到达,我将永远不会再使用NHibernate – Stilgar 2012-03-03 09:46:10