SQL的linq查询和SQL server 2008的Soudex是什么?

SQL的linq查询和SQL server 2008的Soudex是什么?,linq,sql-server-2008,Linq,Sql Server 2008,在sql server中,我们可以发出sql来获取数据,如 select * from table where column like '%myword%' select * from person where Soundex(LastName) = Soundex('Ann') 与上述sql匹配的linq查询是什么?您可能需要使用差分函数 你也可以创建自己的 在.Net 4.0中,您可以使用SoundCode函数,可能如下所示: from p in person where SqlFu

在sql server中,我们可以发出sql来获取数据,如

select * from table where column like '%myword%'
select * from person where Soundex(LastName) =  Soundex('Ann')

与上述sql匹配的linq查询是什么?

您可能需要使用差分函数

你也可以创建自己的

在.Net 4.0中,您可以使用SoundCode函数,可能如下所示:

from p in person
where SqlFunctions.SoundCode(p.LastName) == SqlFunctions.SoundCode('Ann')
select p

非常感谢。正如信息所说:您不能直接调用此函数。此函数只能出现在LINQ to Entities查询中。我使用实体框架作为DAL。那么,如何在INQ到实体查询中编写它呢?假设q是EntityQuery,查询应该类似于q=q.Where(p=>p.LastName.Soundex()==someword);?但我做不到。如果我是你,我可能会创建一个存储过程来实现这一点。我不知道还有别的办法。
from p in person
where SqlFunctions.SoundCode(p.LastName) == SqlFunctions.SoundCode('Ann')
select p