c# - LINQ 查询不适用于 Select2
问题描述
我正在使用 Select2 插件通过 LINQ 在我的表上进行搜索。我面临的问题是多选返回我一个数组,我得到一个错误,我无法转换string[]
为string
. 这是我的看法:
<select class="js-example-basic-multiple"name="country[]" multiple="multiple">
<option value="">Select a country...</option>
<option value="AF">Afghanistan</option>
<option value="AX">Åland Islands</option>
<option value="AL">Albania</option>
</select>
我想在控制器上搜索我从下拉列表中选择的记录。我的控制器是:
var model = from r in db.Clients
orderby r.DateRegister descending
where (r.DateRegister >= datepicker3 && r.DateRegister <= datepicker2 || datepicker2 == null || datepicker3 == null)
where r.Name.Contains(FirstName) || FirstName == "" || FirstName == null
where r.LastName.Contains(LastName) || LastName == "" || LastName == null
where r.Phone.Contains(Phone) || Phone == "" || Phone == null
where r.Email.Contains(Email) || Email == "" || Email == null
where r.PromoCode.Contains(PromoCode) || PromoCode == "" || PromoCode == null
where r.Brand.Contains(Brand) || Brand == "" || Brand == null
where r.Rentetiion == Retetion || Retetion == null
where r.SaleStatus == statos || statos == null
where r.Desk == desk || desk == null
where r.workerId == Broker || Broker == null
where r.Country.Contains(country)||country == null
哪里country
会有超过 1 个要搜索的项目。
解决方案
1)假设这是你的Country
模型。
class Country
{
public string Name { get; set; }
public string Code { get; set; }
}
2)这string[]
包含您选择的国家/地区2。
string[] country = new string[2] { "India", "Shrilanka" };
3) 这些是我数据库中已经存在的国家。
List<Country> countries = new List<Country>();
countries.Add(new Country { Name = "India", Code = "IN" });
countries.Add(new Country { Name = "Australia", Code = "AU" });
countries.Add(new Country { Name = "Shrilanka", Code = "SL" });
4)然后我使用下面的查询从我的数据库中过滤掉国家,上面string[]
只包含2个国家。
var query = (from r in countries
where country == null || country.Any(c => c.Trim().ToLower().Contains(r.Name.Trim().ToLower()))
select new
{
CountryName = r.Name,
CountryCode = r.Code
});
var result = query.ToList();
Trim()
=> 从当前 System.String 中删除所有前导和尾随空白字符。
ToLower()
=> 返回转换为小写的此字符串的副本。
输出:
试一次可能对你有帮助。
推荐阅读
- html - gmail中的电子邮件签名问题
- php - 是否可以在 symfony 4 表单集合中动态生成选择?
- c - 在将文件写入 SD 卡时实现故障/安全方法
- mysql - CakePHP:使用包含查找关联数据
- jenkins - 詹金斯 git 凭证在阶段工作,而不是在下一个
- mysql - Aurora MySql 数据库备份大小急剧增加
- python - 尽管在 os.environ 中设置了代理,但 Cartopy 无法下载代理后面的数据
- php - 记录所有 API 请求和响应 + Slim 框架
- r - 未经授权:需要身份验证 - 尝试拉取或运行公共图像
- java - hibernate中的LEFT JOIN表映射