我想搜索多个并获得结果。我发送这个函数 devicename
user
alarm
。当这些变量被填充时,它就起作用了。但是当它们为空时,它就不是了。我只能填写 devicename
变量。例如;
devicename = "test";
alarm="";
user="";
有时候可以填devicename
user
,有时候可以填devicename
alarm
..我不行从我的代码中获取任何数据。我需要帮助。这是我的代码:
List<ActivityLog> list = db.ActivityLog.Where(c => c.Devices.devName.ToLower().Contains(devicename.ToLower()))
.Where(c => c.Users.uName.ToLower().Contains(user.ToLower()))
.Where(c => c.AlarmCodes.aName.ToLower().Contains(alarm.ToLower()))
.OrderBy(c => c.dateTime).Skip(skip).Take(pageSize).ToList();
最佳答案
List<ActivityLog> list = db.ActivityLog.Where(c => devicename == "" || c.Devices.devName.ToLower().Contains(devicename.ToLower()))
.Where(c => user == "" || c.Users.uName.ToLower().Contains(user.ToLower()))
.Where(c => alarm == "" || c.AlarmCodes.aName.ToLower().Contains(alarm.ToLower()))
.OrderBy(c => c.dateTime).Skip(skip).Take(pageSize).ToList();
正如 Mihai 建议的那样,您可以组合所有 where 语句。
关于c# - Entity Framework 使用空变量进行多重搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21828783/