gpt4 book ai didi

c# - 获取项目索引(rownum)

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:00 25 4
gpt4 key购买 nike

我有一个包含 10 000 个元素的表。

 IQuerable<IEntity> query = dataRep.Get<IEntity>()
.Query();

我需要获取所选 obj 的索引(rownum)而不获取所有表项

 var obj = query.Where( x => x.Name == "testName")
.FirstOrDefault();

简单的 sql 工作正常:

 select name, id, r from 
(
select name, id, rownum r from collections order by id
) where name = 'testName';

如何在 Linq to NHibernate 中做到这一点?

编辑:

我尝试添加到 IEntity 类属性 RowNumber 并将其映射到 hbm 上作为

  <property name="RowNumber" formula="rownum" />

但是之后

  var index = query.Where( x => x.Name == "testName")
.Select( x => x.RowNumber)
.FirstOrDefault();

总是获取 1

最佳答案

能不能直接过滤query?

IQuerable<IEntity> query = dataRep.Get<IEntity>()
.Query()
.FirstOrDefault(x => x.Name == "testName");

编辑:

要获取可以投影到匿名类型的项目:

var query = (from data in dataRep.Get<IEntity>().Query()
where Name == "testName"
select new
{
id = data.id,
rowNumber = data.rowNumber
}).FirstOrDefault();

关于c# - 获取项目索引(rownum),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com