如何在LINQ中匹配模式

如何在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

我一直在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.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%”)等