在 asp.net/C# 中使用 LinqToSql 对 row_number 进行排序

2024-03-15

我在数据库表中有一组记录,我们称之为组件表,定义为follows http://postimage.org/image/2a20tc8ck/.

管理员可以使用表的最后一列禁用标志来禁用某些组件。如果某个特定组件被禁用,它不应出现在用户的网格视图中。

我从数据库获取数据并通过网格视图呈现,如图所示here http://postimage.org/image/i96th4uc/,如果您观察到 SNo 值不按顺序排列。

我用来检索数据的 linq 查询是:

var gridViewResults = from results in db.Components where results.DisableFlag == false
               select  new { SNo = results.SNo, ComponentNames = results.Component_Name, Size =   results.Size__in_MB_, Price = results.Price__in_SEK_, TotalDownloads = results.Total_Downloads, Description = results.Description };

但我希望数据按顺序显示,即 SNo 为 1、2、3、4,而不依赖于数据库表 SNO 值:作为参考,请参阅this http://postimage.org/image/iam34w5g/.

我无法弄清楚如何使用 linq 查询来实现此目的:

我尝试过这个查询:

(db.Components.AsEnumerable().Select((iterator)=> new{iterator.SNo + 1}) 

但我认为这是荒谬的。有人可以帮我解决这个问题吗?

感谢期待。


如果您绝对确定要忽略数据库编号(如果它们实际上不对应于任何内容,为什么要输出这些数字?),您可以尝试以下操作:

var gridViewData = from results in db.Components
                   where results.DisableFlag == false
                   select new
                   {
                     ComponentNames = results.Component_Name,
                     Size = results.Size__in_MB_,
                     Price = results.Price__in_SEK_,
                     TotalDownloads = results.Total_Downloads,
                     Description = results.Description
                   };

var gridViewResults = gridViewData.AsEnumerable().Select((item, index) => new
                      {
                         SNo = index + 1,
                         ComponentNames = item.ComponentNames,
                         Size = item.Size,
                         Price = item.Price,
                         TotalDownloads = item.TotalDownloads,
                         Description = item.Description
                      });

编辑:替代解决方案如何将行号投影到 Linq 查询结果中 https://stackoverflow.com/questions/365086/how-to-project-a-line-number-into-linq-query-results/365127#365127

EDIT2:修复 SQL 不支持的选择:Linq 错误 - “NotSupportedException:查询运算符‘Select’使用的重载不受支持” https://stackoverflow.com/questions/3194641/linq-error-notsupportedexception-unsupported-overload-used-for-query-operator/3194666#3194666

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 asp.net/C# 中使用 LinqToSql 对 row_number 进行排序 的相关文章

  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • ASP .NET MVC,创建类似路由配置的永久链接

    我需要帮助在 MVC 网站中创建类似 URL 路由的永久链接 Slug 已设置为 www xyz com profile slug 代码为 routes MapRoute name Profile url profile slug defa
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 是否有与 C++11 emplace/emplace_back 函数类似的 C# 函数?

    从 C 11 开始 可以写类似的东西 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • 如何使用另一个反应性对象 (ref) 的值设置反应性对象 (ref) 的值?

    我正在尝试设置 a 的值Form基于另一个反应变量中的数据 称为Product但它似乎不起作用 这Form应将其值设置为Product数据如果可用 如果不可用 则使用null 这是vue组件代码的一部分 props ProductID ty
  • CSS 动态创建列

    我有三个 div 要素 div class foo A div div class foo B div div class foo C div 期望的行为 我想编写一些CSS来随着屏幕尺寸的变化创建以下效果 不良行为 我知道如何实现以下 不
  • 如何增加数组的长度

    我有一个快速的问题 我在 java 中有一个整数数组 它的长度需要在整个类中变化 具体来说 我需要在某些情况下将其增加一 我这样尝试过 sbgHeadX new int numberOfSBG 当我需要时 我会增加整数变量 numberOf
  • JavaFX TableView scrollTo() 导致错误的行开始编辑

    我有一个可编辑的 TableView 其中有一个按钮添加新行 然后在该行的第一列上调用 table edit 当用户想要添加不在视口之外的行时 应该发生的情况是表格在视口内滚动新行并开始编辑 但是 调用 table scrollTo new
  • 在一天中的特定时间(例如,商店“营业时间”)显示 DIV

    我需要切换DIV基于时间的可见性 以便我的网站显示我的实体店何时营业 例如 07 00 15 59 显示 div 16 00 06 59 隐藏 div Thanks 这是一个基本示例 gets the current time var d
  • 如何在 MySQL 查询中使用正则表达式

    我有一个简单的任务 我需要搜索以字符串字符开头及其后一个数字的记录 我正在尝试的是这个 SELECT trecord FROM tbl WHERE trecord LIKE ALA d And SELECT trecord FROM tbl
  • 按 Enter 时未启动搜索活动

    按 Enter 时不会启动搜索活动 搜索视图在操作栏上显示得很好 但是当我输入搜索查询并按 Enter 键时 AndroidManifest xml
  • 由测试容器存储启动的 Ryuk 容器不会停止单例容器

    我有几个测试节点 但我将容器作为单例运行 ActiveProfiles test SpringBootTest webEnvironment SpringBootTest WebEnvironment RANDOM PORT AutoCon
  • 两个日期之间的周 Java + Joda 时间

    我想获取 Java 中两个日期范围之间的周数和月数 例如 开始日期 03 01 2012 结束日期 03 05 2012 由于这两个日期属于不同的两周 我希望结果为 2 而不是 0 问题的第二部分是 开始日期 02 29 2012 结束日期
  • IE可枚举垃圾创建

    我在实现 IEnumerable 接口的对象池中有以下代码 public IEnumerable
  • 使用 MongoDB 搜索实现自动完成功能

    我有一个MongoDB表格文件的收集 id 42 title candy can description canada candy canteen brand cannister candid manufacturer candle can
  • 如何增加条形图条形之间的间距

    How do I increase the space between each bar with matplotlib barcharts as they keep cramming them self to the centre thi
  • 强制不同的线程休眠

    所以我有一个程序可以充当其他程序的 外壳 它的核心是传递一个类 一个方法名称和一些参数 并处理函数的执行 其想法是允许其他程序员基本上安排他们的进程在此 shell 服务上运行 除了一个问题之外 一切正常 通常 这些计划执行的进程会占用大量
  • 获取模块中定义的所有常量的值

    我想获取模块中定义的所有常量的值 module Letters A apple freeze B boy freeze end constants给了我常量的名称 Letters constants false gt A B 我如何获得它们
  • sidekiq - 并发 > 50 稳定吗?

    Sidekiq 文档 https github com mperham sidekiq wiki Advanced Options concurrency says 不要将并发设置高于 50 我见过稳定性问题 以并发数100为例 好吧 我的
  • pandas 中的 [] 和 [[]] 有什么区别? [复制]

    这个问题在这里已经有答案了 我对 pandas 中索引列的结果感到困惑 Both db varname and db varname 给我 varname 的列值 然而 看起来有一些细微的差别 因为输出db varname 显示值的类型 第
  • 为什么需要连接来创建PreparedStatements?

    我想使用准备好的语句很多原因 https stackoverflow com questions 687787 how should i sanitize database input in java 但是 我想创建一个如下所示的方法 Th
  • Windows 上的 gVIM:执行缓冲区和带空格的路径

    在 Windows 版 gVim 中 可以通过 命令执行当前缓冲区 但是 不幸的是 缓冲区文件名提供给 cmd exe 时不带引号 因此如果文件路径有空格 gVim 将无法执行它 有没有简单的方法来修复它以便能够从 gVim 中执行 bat
  • 如何创建连续的组号

    我有一个数据框 all data 其中我有一个网站列表 1 到 n 及其分数 例如 site score 1 10 1 11 1 12 4 10 4 11 4 11 8 9 8 8 8 7 我想创建一个列 按数字顺序对站点的每个级别进行编号
  • 在 asp.net/C# 中使用 LinqToSql 对 row_number 进行排序

    我在数据库表中有一组记录 我们称之为组件表 定义为follows http postimage org image 2a20tc8ck 管理员可以使用表的最后一列禁用标志来禁用某些组件 如果某个特定组件被禁用 它不应出现在用户的网格视图中