在linq中按len()排序 [英] Order by len() in linq

查看:193
本文介绍了在linq中按len()排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我在sql server中的查询,一切正常

this is my query in sql server and everything works fine

select * from DetalleNotas
order by len(ColProduct), ColProduct

PROCT1
PROCT2
PROCT3
PROCT4
PROCT5
PROCT6
PROCT7
PROCT8
PROCT9
PROCT10



但我希望我的查询在linq c#



我尝试了什么:



我尝试了这个并且不起作用




but i want my query in linq c#

What I have tried:

I tried this and it does not work

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





只有这个查询有效



only this query works

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





这是结果我的函数查询



This is the result of my functional query

PROCT1
PROCT10
PROCT2
PROCT3
PROCT4
PROCT5
PROCT6
PROCT7
PROCT8
PROCT9

推荐答案

我回答我的问题



I answer my question

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


解决方案#1的Lambda版本:

Lambda version of solution #1:
var orderedProducts = db.Product
                .OrderBy(d=> new {d.ColProduct.Length, d.ColProduct})
                .Select(d=> d.product);


这篇关于在linq中按len()排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆