gpt4 book ai didi

c# - 将 LINQ 与 MVC 结合使用,如何将多个参数包含到 where 子句中?

转载 作者:行者123 更新时间:2023-11-30 15:52:43 24 4
gpt4 key购买 nike

我正在尝试运行下面的代码,它可以正常工作,直到我在使用逗号添加一个新值并添加到值数组后尝试添加第二个搜索值。在 SQL 术语中,我基本上想在每次循环迭代后添加“AND”关键字。这有可能吗?

var query = from s in db.Items 
join c in db.Categories on s.Category equals c.ID into cats from c in cats.DefaultIfEmpty()
join ma in db.Makes on s.Make equals ma.ID into maks from ma in maks.DefaultIfEmpty()
join mo in db.Models on s.Model equals mo.ID into mods from mo in mods.DefaultIfEmpty()
join st in db.Status on s.Usage_Status equals st.ID into stats from st in stats.DefaultIfEmpty()
join d in db.Departments on s.Department equals d.ID into deps from d in deps.DefaultIfEmpty()
select new { item = s, cat = c, make = ma, model = mo, status = st, department = d };

if (!String.IsNullOrEmpty(searchString))
{
string[] searchValues = searchString.Split(',');

for (var x = 0; x < searchValues.Length; x++)
{
var value = searchValues[x];
query = query.Where(s => s.item.Asset_Tag_Nbr.Contains(value)
|| s.item.Serial.Contains(value)
|| s.cat.Name.Contains(value)
|| s.make.Name.Contains(value)
|| s.model.Name.Contains(value)
|| s.item.Assigned_User.Contains(value));
}
}

最佳答案

事实证明,代码可以正常工作,只是开发人员的错误。输入搜索词时,我在逗号后添加了一个空格。将 var value = searchValues[x] 更改为 var value = searchValues[x].Trim() 可以解决问题并清除两端的空白区域。

关于c# - 将 LINQ 与 MVC 结合使用,如何将多个参数包含到 where 子句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728437/

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