首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq有“区别”吗?

Linq有“区别”吗?
EN

Stack Overflow用户
提问于 2009-06-24 23:05:35
回答 3查看 828关注 0票数 1

我有一个使用Difference => http://msdn.microsoft.com/en-us/library/ms188753.aspx的sql语句。

我在存储进程中执行此操作,但我想更改为LINQ。在LINQ中是否存在相等的差异?

例如:WHERE (DIFFERENCE(C.LastName, ''' + @name + ''') >= 4

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-25 01:48:11

具有所有有用的T-SQL函数,如Difference、Soundex、Like等。这些函数由Linq2Sql在where子句中转换为它们的T-SQL等价物。

编辑:哇,这是4.0。真对不起。也就是说,要做到这一点,您可以在数据库中创建一个用户定义的函数,并将该函数添加到DBML文件中,然后像调用SqlMethods.Like一样调用它(这就是我正在考虑的方法)。Here's the MSDN docs on it

基本上,您只需创建一个UDF,该UDF接受相同的输入作为差异,并返回相同的结果。该函数除了调用DIFFERENCE方法外,什么也不做。然后在DBML中公开它,并在查询中使用您的函数。

票数 2
EN

Stack Overflow用户

发布于 2009-06-24 23:09:05

不,没有.NET方法可以转换成这样。

票数 0
EN

Stack Overflow用户

发布于 2009-06-25 01:41:41

.NET没有内置的Soundex功能。有关如何在C#中实现Soundex的信息,请参阅this article,其中包括T-SQL()函数使用的算法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1041439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档