我需要在我的数据库查询中使用"普通"WHERE和IN子句通过各种字段过滤一些实体,但我不知道如何使用EF.
这是方法:
数据库表
Licenses
-------------
license INT
number INT
name VARCHAR
...
Run Code Online (Sandbox Code Playgroud)
EF中所需的SQL查询
SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99)
Run Code Online (Sandbox Code Playgroud)
EF代码
using (DatabaseEntities db = new DatabaseEntities ())
{
return db.Licenses.Where(
i => i.license == mylicense
// another filter
).ToList();
}
Run Code Online (Sandbox Code Playgroud)
我尝试过ANY和CONTAINS,但我不知道如何用EF做到这一点.
如何在EF中执行此查询?
我正在查询视图并使用名为status的列过滤结果.我想查询它,以便我可以通过使用IN运算符来搜索具有不同状态的行,就像我在SQL中所做的那样.
如此:
SELECT*FROM VIEW WHERE状态('....','.....')
我怎样才能做到这一点?
我Contact在SQL Server中有一个表,我在我的C#控制台应用程序中使用Entity Framework映射表:
EmployeeId FirstName LastName
--------------------------------
1 Ram Kumar
2 Mohan Raj
3 Aravind Swaamy
4 Ajay Kumar
5 Ram Raj
Run Code Online (Sandbox Code Playgroud)
我需要获取1,3,5(EmployeeId)的记录
目前我正在以下列方式做
List<Employees> emp = new List<Employees>();
var emp1 = dbContext.Employee.Find(1);
var emp3 = dbContext.Employee.Find(3);
var emp5 = dbContext.Employee.Find(5);
emp.Add(emp1);
emp.Add(emp3);
emp.Add(emp5);
Run Code Online (Sandbox Code Playgroud)
请Find通过传递主键值列表来帮助我如何使用方法获取记录列表.
有些人认为这个问题是如何在实体框架中进行"in"查询的重复?.不,这绝对是错的.我的问题是如何使用Find扩展方法获取多个记录.因为IN操作执行速度比Find操作慢.