Как получить SELECT DISTINCT по запросу SelectMulti в ServiceStack OrmLite? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь получить отдельный набор результатов для кортежей, но 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 голосов
/ 12 октября 2018

Я только что добавил поддержку этого в этом коммите , где, если .SelectDistinct() используется в SqlExpression<T>, тогда он выполнит запрос SQL, используя SELECT DISTINCT, например:

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

Это изменение доступно с v5.4.1, теперь доступно на MyGet .

...