【问题标题】:Linq query C# How to add condition below queryLinq查询C#如何在查询下方添加条件
【发布时间】:2019-10-08 15:21:43
【问题描述】:

在 Datatable 返回多行中,我想根据条件从条件中获取值

public string EHSStatus(long ProjectId, DataTable _ehs, long _questionid)
    {

        string _ehsstatus = string.Empty;
        try
        {

            string _responsevalue = (from _x in _ehs.AsEnumerable()
                                  select _x.Field<string>("EhsStatus")).FirstOrDefault();


            if (_responsevalue != null)
            {
                if (_responsevalue.Contains("Met"))
                {

在这里,我想包括一个条件 && 询问如何添加它。

【问题讨论】:

  • 目前还不清楚您到底在追求什么。请详细说明...
  • 您可以使用where 条件将其添加到已有的linq 查询语法中,但您可能应该将其添加到用于填充数据表的sql 查询中。向我们展示更多代码并在您的问题中向我们提供更多详细信息。
  • 什么@OusmaneD。 (Ousmane Dembélé?)说:)
  • @MarkCiliaVincenti 有点跑题了......虽然我们的名字一样,但我不是法国边锋^_^。

标签: c# linq datatable ado.net


【解决方案1】:

这段代码可以帮助你:

    var ehs = _ehs.AsEnumerable();
    var responsevalue = ehs.where(q => q.Field<"pId"> == ProjectId && q.Field<"qId"> == _questionid)
.select(k => k.Field<string>("EhsStatus").FirstOrDefault();

【讨论】:

    【解决方案2】:

    使用 @Silvermind 评论的 where 子句。将 pID 和 qID 替换为数据表中字段的真实名称。

    string _responsevalue = (from DataRow _x in _ehs.AsEnumerable()
                             where _x.Field<long>("pID") == ProjectId && _x.Field<long>("qID") == _questionid 
                             select _x.Field<string>("EhsStatus").FirstOrDefault()).ToString();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      相关资源
      最近更新 更多