如何解决Linq中的错误:“value cannot be null parameter name Response”?

How to resolve error: "value cannot be null parameter name Response" in Linq?

提问人:Prithvi 提问时间:11/12/2023 最后编辑:Svyatoslav DanylivPrithvi 更新时间:11/13/2023 访问量:56

问:

出现此错误

值不能为 null。
参数名称:响应

在 LINQ 中执行此处所示的语句。请告诉我。如果我注释掉filterItem语句,则不会发生错误。以下更改在本地工作正常,但在已部署的服务器上出现上述错误。

[HttpGet]
[LingToQuerable]
public dynamic Get(){

   var query = Request.GetQueryString();

   var countRes = db.Employees
      .Include(emp => emp.applicationusr)
      .Include(x => x.applicationuser.Roles)
      .AsQuerable()
      .LinqToQuerystring<Employee,Dictionary<string,object>>(query);

   IQueryable<Employee> list;
   count = (int)countRes["Count"];
   list = countResult["Results"] as IQuerable<Employee>;
   var filterItem = 
      from employee in list
      select new ListOfEmpDTO
      {
         id = employee.id.
         status = employee. status,
      }
   var results = filterItem.ToList();

   return new FilterModelDTO<ListOfEmpDTO>
   { 
      items = resultes.Distinct(), 
      Counts = count
   }
}
实体框架 linq asp.net-web-api

评论

0赞 Denis Micheal 11/12/2023
看这里了吗?
1赞 Jeff Mercado 11/12/2023
您提供的代码片段存在很多根本性错误。首先,代码中没有任何地方,因此它与错误无关。其次,该变量不是泛型变量,因此无法对其执行 linq 操作。第三,即使您能够使用 linq,由于您的实体没有已知类型,因此您无法访问它们的属性,它们都是 .如果您希望我们能够为您提供帮助,请添加更多详细信息。responselistIQueryable<T>object
0赞 Prithvi 11/12/2023
感谢您的回复。上面添加了更多代码详细信息。请帮忙。
0赞 Prithvi 11/13/2023
我删除了 [LingToQuerable] 属性并将整个代码移动到 using (db = new DBContextName) 下,然后我收到错误“已经有一个打开的数据读取器与此命令相关联,必须首先关闭” 。然后我添加了 MultipleActiveResultSets=True;添加到连接字符串。然后它开始工作。
0赞 Svyatoslav Danyliv 11/13/2023
请更正您的代码,看起来它是不可编译的,局部变量一团糟。

答: 暂无答案