如何在LINQ中匹配模式
我一直在SQL工作,最近开始使用LINQ C#querys。 我正在尝试编写一个LINQ查询,以查找其工作名称以a开头的所有员工。 我希望得到与此SQL查询类似的结果 SQL查询如何在LINQ中匹配模式,linq,oracle11g,linq-to-sql,sql-to-linq-conversion,Linq,Oracle11g,Linq To Sql,Sql To Linq Conversion,我一直在SQL工作,最近开始使用LINQ C#querys。 我正在尝试编写一个LINQ查询,以查找其工作名称以a开头的所有员工。 我希望得到与此SQL查询类似的结果 SQL查询 SELECT empno, ename, job, sal FROM emp WHERE job LIKE 'A%'; LINQ版本 from query in conn,EMPs where query.JOB like 'A%' select new { query.EMPNO, query.ENA
SELECT empno, ename, job, sal
FROM emp
WHERE job LIKE 'A%';
LINQ版本
from query in conn,EMPs
where query.JOB like 'A%'
select new
{
query.EMPNO, query.ENAME, query.JOB, query.SAL
}
如果要坚持使用类似SQL的语法,可以采用以下方法:
from x in context
where x.JOB.StartsWith("A")
select new
{
x.EMPNO, x.ENAME, x.JOB, x.SAL
};
或者,如果您不需要对结果进行投影,您可以简单地执行以下操作:
from x in context
where x.JOB.StartsWith("A")
select x;
或者你也可以像评论你文章的那个人那样切换到流畅的版本
编辑
您还可以在他们特别使用EF讨论此功能的地方找到有用的信息不确定oracle提供程序,但您可以尝试
where query.Job.StartsWith(“A”)
或where SqlMethods.Like(query.Job,“A%”)等