c# - 按 len() 排序,但在 C# 的 linq 中

标签 c# asp.net 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
                });

enter image description here 名称“len”在真实上下文中不存在

只有这个查询有效

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

最佳答案

请记住,在 C# Linq 代码中,一切仍然是 C#。当您使用字符串时,您需要按 string.Length 排序.例如:

var results = from d in db.DetalleNotas
              orderby d.ColProduct.Length
              select d;

关于c# - 按 len() 排序,但在 C# 的 linq 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50178906/

相关文章:

asp.net-mvc-3 - Dynamic LINQ 是否仍在使用并适用于缩小搜索结果?

C# List.Contains 在应该返回 true 时确实返回 true

c# - 如何确定 .NET 代码是否在 ASP.NET 进程中运行?

ASP.NET 缓存和文件依赖项

c# - 如何使用 Linq 连接两个表并计算一列匹配记录的行数

c# - 如何证明 Dictionary 的 TryGetValue 的双重检查锁定模式不是线程安全的

javascript - asp.net 中哪个函数会先执行?

c# - 从 Silverlight 应用程序将 cookie 设置为 HttpOnly

c# - 为什么这个异步运行异步/线程?

C#反序列化xml文件