Как обратиться к полю в динамическом запросе linq? - PullRequest
0 голосов
/ 12 августа 2010

У меня есть запрос, который должен быть динамическим, я думаю, что мой синтаксис правильный, но я не знаю, как дать ему имя столбца, по которому я хочу сгруппировать.Я пробовал несколько разных подходов, и всегда получаю сообщение об ошибке: «Нет имени или свойства поля в типе« datarow »

IQueryable<Result> aggregate1 = 
      query1Data.Tables[0].AsEnumerable().AsQueryable()
                .GroupBy("name", "it")
                .Select<Result>("new(Key as Group, Sum(value)as Total)");

Я предполагаю, что должен использовать что-то вроде Field<string>("name"), но яЯ не могу понять это. Я видел проблему на нескольких форумах, но никто, кажется, не имеет четкого ответа, как обойти эту проблему.

Ответы [ 2 ]

0 голосов
/ 12 августа 2010

Я не уверен, что понимаю, что именно вы хотите, но вот небольшой фрагмент кода, который вы можете использовать как вдохновение:

0 голосов
/ 12 августа 2010

Это то, что вы пытались сделать?

var aggregate1 =
        query1Data.Tables[0].AsEnumerable().AsQueryable()
            .GroupBy(row => row.Field<string>("name"), row => row.Field<int>("it"))
            .Select(g => new { Group = g.Key, Total = g.Sum() });
...