我试图从LINQ查询中获取一些值,但我无法在这里编写rite语法代码模型
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
}
答案 0 :(得分:1)
这样做,你的行排序不正确,语法错误很少:
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);
您可以看到更多详情Here for Lambda Expressions
<强>更新:强>
虽然我接受了答案,因为它帮助了OP,但OP做了一些修改以获得理想的结果。这就是:
var indexs = (from r in Model.SelectMany(c => c.RData)
where r.RId == revision.RevisionID
select r.RIndex);