【问题标题】:linq query to search from 5 arrays从 5 个数组中搜索的 linq 查询
【发布时间】:2015-09-28 05:43:34
【问题描述】:

我从客户端获取五个数组,并且我有五个列表,我必须从中显示客户端选择的数据库行的值(我正在获取数组)。我需要一个 LINQ 查询,通过它我可以从数据库中为特定值选择行。这是我的控制器来编写查询。 请指导我如何做到这一点,我对这一切都很陌生。

[HttpPost]
public ActionResult somemethod(string[] array1, string[] array2, string[] array3, string[] array4, string[] array5)
{
    List<string> results = objUS.tablename.Select(q => q.colname).ToList();
    var USData = (from row in objUS.tablename where (row.is_deleted == false) 
                 select row); 
    if (!string.IsNullOrEmpty(array1[0])) 
    { 
          for (var item = 0; item < array1.Length; item++) 
          { 
              USData.Where(x => results.Contains(array1[item])); 
          } 
    } 
    return View(USData); 
}

我在那里遇到了一些错误。我只尝试过一个领域。请指导我这样做。

我在数组中获取 colname 的数据。我有 5 个不同的字段,我从客户那里得到任何人的数据。现在的事情是我需要从数据库中过滤或搜索数据库中适当的 colname 数据的行。

【问题讨论】:

  • 我用谷歌搜索了一遍,但还没有找到解决方案
  • 我不明白你的问题。你能添加一些数据吗?
  • 是的,但这就是我遇到的所有麻烦。我需要一个查询。好的,我再编辑一件事
  • 很难回答这个问题,因为我们无法判断 objUS 背后的实体是什么。此外,致电.ToList() 可能不是最明智的做法。您将拖入整个表格。请提供有关您的全局变量的更多信息。
  • USData.Where(x => results.Contains(array1[item]));你在哪里使用 x?

标签: c# arrays asp.net-mvc linq


【解决方案1】:

可以通过这个部分视图来完成

[HttpPost]
    public ActionResult AR(IList<string> array, IList<string> array, IList<string> array, IList<string> array, IList<string> array)
    {
        array[0] = array[0].ToString();
        array[0] = array[0].ToString();
        array[0] = array[0].ToString();
        array[0] = array[0].ToString();
        array[0] = array[0].ToString();

        int tempR = Convert.ToInt32(Session["ID"]);

        var USData = objUS.tableName.Where(u => u.colName == false);

        if (array.Count < 2 && array.Count < 2 && array.Count < 2 && array.Count < 2 && array.Count < 2)
        {
            function2(Convert.ToInt32(Session["ID"]));
        }

        if (array1.Count > 1)
            USData = USData.Where(u => array1.Contains(u.tableName.colName));

        if (array2.Count > 1)
            USData = USData.Where(u => array2.Contains(u.tablename.colName));

        if (array3.Count > 1)
            USData = USData.Where(u => array3.Contains(u.tablename.colName));

        if (array4.Count > 1)
            USData = USData.Where(u => array4.Contains(u.tablename.colname));

        if (array5.Count > 1)
            USData = USData.Where(u => array5.Contains(u.tablename.tablename.colName));
        if (tempR != 0)
        {
            if (tempR != 1)
                USData = USData.Where(us => us.colName == tempR);
            else
                USData = USData.Where(us => us.colName == null);
        }
        ViewBag.RecordCount = recordCount = USData.Count();
        return PartialView("functionName", USData);
    }

【讨论】:

    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2021-01-28
    • 2015-01-19
    • 1970-01-01
    相关资源
    最近更新 更多