2010-01-11 3 views
1

Есть ли способ создать запрос LINQ, который будет иметь разные поля группировки. I.E. У меня есть классLINQ 2 SQL Group несколькими несколькими столбцами

public class Stat 
{ 
     public DateTime Date { get; set; } 
     public int ApplicationId { get; set; } 
     public int ActionType { get; set; } 
     public string Version { get; set; } 
} 

Теперь мне нужно запросить таблицу с этими данными с помощью группировки несколькими настраиваемыми полями. Например, group by ApplicationId и ActionType или по заявке и версии

Я не хочу писать разные запросы для всех возможных комбинаций полей. И хотите создать общий метод, который будет принимать список имен столбцов, в которых должна происходить группировка.

Итак, есть способ создать такой запрос во время выполнения?

ответ

2
+0

Это, мне кажется, что мне нужно создать SQL запрос непосредственно в строке :( – AlfeG

+0

Или вы можете создать 'If' дерево с каждой возможной перестановкой запросов. Лично я предпочитаю динамический подход. –

0

С помощью LINQ динамической библиотеки запросов, вы можете выразить LINQ запросов с использованием методов расширения (например, ".гд и .GroupBy") которые принимают аргументы строки вместо безопасных языков.

alt text http://www.scottgu.com/blogposts/dynquery/step2.png

+0

Вы связались с картиной из статьи, опубликованной @Robert. – Nate

Смежные вопросы