c# - EF - 查找不在整数列表中的项目 - 结果查询不使用参数
问题描述
我正在使用以下方法:
public PagedResult<PaymentPlanItems> GetPagedRequest(SearchRequest searchRequest, List<int> idsToExclude)
{
var list = _dbSetList.AsQueryable();
if (idsToExclude != null)
{
list = list.Where(item => !idsToExclude.Contains(item.ItemId));
}
var query = SearchHelper.GetFilteredSearch<PaymentPlanItems>(list, searchRequest);
var pagedResultMessage = SearchHelper.GetPagedResult(query, searchRequest);
return pagedResultMessage;
}
我最初使用这个的 idsToExclude (从另一个 SO 线程中找到):
if (!string.IsNullOrEmpty(searchViewModel.ItemsToExclude))
{
List<int> idsToExclude = new List<int>(Array.ConvertAll(searchViewModel.ItemsToExclude.Split(','), int.Parse));
searchViewModel.Result = _paymentPlanItemsAdapter.GetPagedRequest(searchViewModel.SearchRequest, idsToExclude);
}
然后,我使用配置文件查看生成的查询,我发现我在查询中得到以下信息:
WHERE ( NOT ([Extent1].[ItemId] IN (440, 1017)))
我不知道我是否应该真正担心,因为我的数字直接插入查询而不是作为参数,如果我应该这样做,我应该对该方法/方法进行哪些修改以使该查询使用参数?
解决方案
推荐阅读
- spring-boot - 使用 Thymeleaf 提交时表单为空
- android - 通用扩展的 Android proguard 规则
- c - C:在数组中找到一对总和为给定数字X的元素
- visual-studio-code - 如何在 Ubuntu 上设置 CMake 参数 -j
- javascript - 问:错误:意外的令牌。预期有构造函数、方法、访问器或属性。ts(1068)
- kotlin - 在kotlin中获取双精度/浮点数的尾数和指数
- xslt - XSLT 连接连续节点的内容
- excel - worksheet.Buttons() 是扩展方法吗?
- javascript - Javascript innerHTML 不起作用并放置在错误的位置
- mysql - AWS RDS - 使用 GRANT ALL PRIVILEGES ON the_db.* TO 'the_user'@'%' 时拒绝管理员用户访问