实体框架where子句
本文关键字:子句 where 框架 实体 | 更新日期: 2023-09-27 18:02:16
我是EF如何在实体框架中使用and - or in where子句的新手
HR_ATTENDANCE_DEVICE_SHUTDOWN_TBL attendanceDeviceShutdownTbl =
context.HR_ATTENDANCE_DEVICE_SHUTDOWN_TBL
.FirstOrDefault(x => x.Device_ID.Equals(model.DeviceId) &&
x=>x.Device_Name=model.DeviceName);
上面的代码将不工作,但我怎么能使它工作
表达式lambda具有以下语法param => expression
。也就是说,它就像一个简单的方法,有输入参数和主体。只定义一次参数,然后在方法体或lambda中使用它们:
HR_ATTENDANCE_DEVICE_SHUTDOWN_TBL attendanceDeviceShutdownTbl =
context.HR_ATTENDANCE_DEVICE_SHUTDOWN_TBL.FirstOrDefault(x =>
x.Device_ID.Equals(model.DeviceId) && x.Device_Name == model.DeviceName);
在这种情况下,您有一个参数x
,其中进入匿名函数体。Body是一个表达式,应该返回布尔值,(通常)使用参数x
。在这种情况下,lambda主体应该是
x.Device_ID.Equals(model.DeviceId) && x.Device_Name == model.DeviceName
建议阅读:Lambda表达式(c#编程指南)。还要注意==
是一个比较运算符。=
是一个赋值操作符。别把它们弄混了