0

如何向此代码添加投影?我正在尝试根据创建日期或上次更新日期对结果进行排序。

    var c = new Conjunction();
    c.Add(Restrictions.Where<InstructionTask>(x => x.IsOpen == _setDefaultStatusIfNotFound(status)));

//添加此投影时出错:

    if (string.IsNullOrEmpty(sort) || sort.Equals("created", StringComparison.OrdinalIgnoreCase))
        c.Add(Projections.Property<InstructionTask>(x => x.DateCreated));

我将我的传递Conjuction给另一个将处理任务检索的方法,即var tasks = GetCollaboratedTasks(c);

4

2 回答 2

0

联结只是一组将被“与”在一起的过滤器。它与投影或排序无关。您需要将其粘贴在 DetachedCriteria 或 ICriteria 中。

于 2012-11-06T13:27:39.380 回答
0

要按属性对结果进行排序,请DateCreated使用:

criteria.AddOrder(Order.Asc(Projections.Property<InstructionTask>(x => x.DateCreated));

正如奥斯卡所说,一个连接只能用于应用过滤器。

于 2012-11-07T19:54:15.803 回答