繁体   English   中英

实体框架where子句

[英]Entity framework where clause

我是EF的新手如何使用和 - 或在实体框架中的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#编程指南) 另请注意==是比较运算符。 =是赋值运算符。 不要与它们混淆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM