LINQ根据比较选择多个项目
本文关键字:项目 选择 比较 LINQ | 更新日期: 2023-09-27 18:03:34
我试图从LINQ查询中获得一些值,但我无法编写仪式语法,这里是模型
public class ViewHistorySheetModel {
public string SheetName { get; set; }
public List<ViewHistoryDataModel> lData { get; set; }
public List<CountHistoryDataModel> RData { get; set; }
}
public class CountHistoryDataModel
{
public string RId { get; set; }
public string RIndex { get; set; }
}
,这里是我正在尝试的代码我想让RIndex
匹配RId
int Revision=1234;
var indexs = (select r.RIndex from Model.RData where r.RId= Revision);
foreach(var index in indexs)
{
// functionalty
}
这样做,你的行顺序是不正确的,也有一些语法错误:
var indexs = (from r in Model.RData
where r.RId == Revision
select r.RIndex);
和现在迭代:
foreach(var index in indexs)
{
// do something
}
也可以这样使用lambda表达式:
var indexs = Model.RData.Where(r=>r.RId == Revision).Select(r => r.Index);
你可以在这里看到更多关于Lambda表达式的细节
更新:
虽然我的回答被接受,因为它帮助了OP,但OP做了一点修改,以获得所需的结果。这里是:
var indexs = (from r in Model.SelectMany(c => c.RData)
where r.RId == revision.RevisionID
select r.RIndex);