Asp.net mvc MVC控制器中的LINQ语句出错
我正在开发MVC应用程序 我试图在控制器中编写LINQ语句,但它给出了一个错误Asp.net mvc MVC控制器中的LINQ语句出错,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在开发MVC应用程序 我试图在控制器中编写LINQ语句,但它给出了一个错误 ViewBag.CompanyIdList = new SelectList(db.Companies.OrderBy(t => t.Name).Where(t=>t.IsDeleted!=true || t=>t.IsTransfer !=true) , "Id", "Name"); 什么问题 问题解决了,多亏了 它说t不存在的问题是由以下原因引起的: .Where(t=>t.IsDel
ViewBag.CompanyIdList = new SelectList(db.Companies.OrderBy(t => t.Name).Where(t=>t.IsDeleted!=true || t=>t.IsTransfer !=true) , "Id", "Name");
什么问题
问题解决了,多亏了
它说t不存在的问题是由以下原因引起的:
.Where(t=>t.IsDeleted!=true || t=>t.IsTransfer !=true)
这应该是:
.Where(t=>t.IsDeleted!=true || t.IsTransfer !=true)
在表达式中仅使用lambda一次。事实上,您可以将其缩短为:
.Where(t => !t.IsDeleted || !t.IsTransfer)
错误消息是什么?你为什么要检查
IsDeleted!=对
两次?“它给出了一个错误”没有告诉我们任何事情。错误是什么?我已经更新了查询…显示了许多错误,例如,名称“t”在当前上下文中不存在…无效的表达式项“=>”…无效的表达式项“)”如果我想为同一字段设置三个条件,该怎么办。比如ViewBag.CompanyIdList=new SelectList(db.companys.OrderBy(t=>t.Name)。其中(t=>t.IsDeleted!=false | | | t.IsDeleted==null | | t=>t.IsTransfer!=true),“Id”,“Name”)代码>这也显示了错误…@user1650894-正如我所说,在表达式中只使用lambda一次。是的,我在where条件中只起诉了一次,但是如果我想使用三个条件呢?上面的语句显示了一个错误。@user1650894-否。。显然你不明白什么是lambdat=>
是一个lambda。在表达式中只能使用一次。你在表达式中使用了两次。这就是为什么你会出错。请看我第一次为解决您的问题所做的操作,然后再次应用它。否如果我从where条件中删除lambda,则它将开始显示错误->名称“t”在当前上下文中不存在
.Where(t => !t.IsDeleted || !t.IsTransfer)