Rodrigo Alex Rodriguez Ответов: 2

Заказ по len() в linq


это мой запрос в sql server и все работает нормально
select * from DetalleNotas
order by len(ColProduct), ColProduct

PROCT1
PROCT2
PROCT3
PROCT4
PROCT5
PROCT6
PROCT7
PROCT8
PROCT9
PROCT10

но я хочу, чтобы мой запрос был в linq c#

Что я уже пробовал:

Я попробовал это сделать и ничего не вышло

var product = (from d in db.Product
                orderby len(d.ColProduct), d.ColProduct
                select new
                {
                    product= d.product
                });


только этот запрос работает
var product = (from d in db.DetalleNotas
                orderby d.ColProduct
                select new
                {
                    product= d.product
                });


Это результат моего функционального запроса
PROCT1
PROCT10
PROCT2
PROCT3
PROCT4
PROCT5
PROCT6
PROCT7
PROCT8
PROCT9

2 Ответов

Рейтинг:
2

Maciej Los

Лямбда-версия решения № 1:

var orderedProducts = db.Product
                .OrderBy(d=> new {d.ColProduct.Length, d.ColProduct})
                .Select(d=> d.product);


Рейтинг:
0

Rodrigo Alex Rodriguez

Я отвечаю на свой вопрос

var product = (from d in db.Product
                orderby d.ColProduct.Length, d.ColProduct
                select new
                {
                    product= d.product
                });


Maciej Los

5! Примечание: примите свой ответ как решение (зеленая кнопка), чтобы удалить свой вопрос из списка без ответа.