Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 简单LINQ语句中的语法错误_Asp.net Mvc_Linq - Fatal编程技术网

Asp.net mvc 简单LINQ语句中的语法错误

Asp.net mvc 简单LINQ语句中的语法错误,asp.net-mvc,linq,Asp.net Mvc,Linq,我正在开发MVC应用程序,我正在使用LINQ in控制器 我正试图用下面的查询获得一个记录,但它给出了一个错误 Approval oAP = new Approval(); oAP = db.Approvals.Where(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount)); 有没有语法错误 得到答案了吗 改变这个 e.Approved

我正在开发MVC应用程序,我正在使用LINQ in控制器

我正试图用下面的查询获得一个记录,但它给出了一个错误

  Approval oAP = new Approval();
  oAP = db.Approvals.Where(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount));
有没有语法错误

得到答案了吗

改变这个

e.ApprovedBy.Id = loggedEmployee.Id
为了

您正在进行比较,而不是赋值

你也可以加上这个

oAP = db.Approvals.Where(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount)).FirstOrDefault();
因为我假设您只想返回一个

更改此

e.ApprovedBy.Id = loggedEmployee.Id
为了

您正在进行比较,而不是赋值

你也可以加上这个

oAP = db.Approvals.Where(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount)).FirstOrDefault();
因为我假设您只想返回一个

一些备注:

您应该能够在以下位置放置:

oAP = db.Approvals.FirstOrDefault(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount));
就个人而言,我尽量避免使用First和FirstOrDefault函数,因为如果您知道只有一条记录,并且希望强制执行这一点,则可以使用SingleOrDefault:

oAP = db.Approvals.SingleOrDefault(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount));
如果您知道总是有一条(多条)记录,您可以删除“OrDefault”部分并使用First()或Single()。

一些备注:

您应该能够在以下位置放置:

oAP = db.Approvals.FirstOrDefault(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount));
就个人而言,我尽量避免使用First和FirstOrDefault函数,因为如果您知道只有一条记录,并且希望强制执行这一点,则可以使用SingleOrDefault:

oAP = db.Approvals.SingleOrDefault(e => (e.ApprovedBy.Id == loggedEmployee.Id) && (e.ReviewNo == oPaymentAdvice.ReviewCount));

如果您知道总是会有(多个)一条记录,您可以删除“OrDefault”部分并使用First()或Single()。

错误是什么?请与我们共享好吗?无法将类型“System.Linq.IQueryable”隐式转换为“PaymentAdviceEntity.Approval”。存在显式转换(是否缺少转换?)旁注:`=new Approval()`部分是多余的。oAP-老年养老金领取者?错误是什么?请与我们共享?无法隐式将类型“System.Linq.IQueryable”转换为“PaymentAdviceEntity.Approval”。存在显式转换(是否缺少演员阵容?)旁注:`=new Approval()`部分是多余的。oAP-老年养老金领取者?是否添加了FirstOrDefault??并且您确定您添加了注释中描述的错误,因为您需要添加第一个或默认值。您是否添加了第一个或默认值??并且您确定添加了注释中描述的错误,因为您需要添加第一个或第二个