Упорядочить LINQ по имени "string" - PullRequest
6 голосов
/ 16 декабря 2010

ПРОБЛЕМА РЕШЕНА !!!

Решение - Linq.Dynamic

Вы делаете это так:

(from c in Context.AccountCharts 
    where c.Account_FK == account && c.Year_FK == year select c).OrderBy(order);

Вы должныскачайте System.Linq.Dynamic.dll и включите его в свой проект.


Есть ли способ упорядочить запрос linq по имени поля.вот так:

from c in Context.AccountCharts 
    where c.Account_FK == account && c.Year_FK == year 
    orderby c["ColName"] select c;

Или

from c in Context.AccountCharts 
    where c.Account_FK == account && c.Year_FK == year 
    orderby c.GetType().GetField("ColName") select c;

Ни одна из этих двух работ, но я надеюсь, что вы знаете способ сделать это.

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Я потратил много времени, чтобы решить эту проблему, но не нашел ничего лучше, чем:

var queryExpression;
if (c["ColName"]=="CreateDate")
    queryExpression.OrderBy(x => x.CreateDate);
0 голосов
/ 17 декабря 2010

Надеюсь, это будет работать, хотя и не проверено

Context.AccountCharts.Where(c=>c.Account_FK == account && c.Year_FK == year).OrderBy(o=>o.order); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...