如何在ServiceStack OrmLite中的SelectMulti查询上获取SELECT DISTINCT?

时间:2018-10-12 09:05:05

标签: servicestack ormlite-servicestack

我正在尝试获取元组的不同结果集,但是Distinct从未添加到查询中。

示例

  List<Tuple<Alpha, Beta>> results;

  var q = dbConn.From<Alpha>()
          .Join<Alpha, Beta>((a, b) => a.Id == b.AlphaId)
          ... 
          ... more joins and Wheres
          ...
          .SelectDistinct();

  results = dbConn.SelectMulti<Alpha, Beta>(q);

是否添加SelectDistinct,对输出的SQL和结果没有影响。

如何让SelectMulti与Distinct一起使用?

谢谢。

1 个答案:

答案 0 :(得分:3)

我刚刚在this commit中添加了对此的支持,如果在.SelectDistinct()中使用SqlExpression<T>,它将使用SELECT DISTINCT执行SQL查询,例如:< / p>

var results = dbConn.SelectMulti<Alpha, Beta>(q.SelectDistinct());

此更改可从v5.4.1(现在为available on MyGet)中获得。