У Linq есть «Разница»?

У меня есть SQL-оператор, который использует Difference = & gt; http://msdn.microsoft.com/en-us/library/ms188753.aspx

Я делаю это в сохраненном процессе, но я хочу перейти на LINQ. Есть ли разница в разнице в LINQ?

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

Спасибо

Ответы на вопрос(3)

.. УвидетьЭта статья о том, как реализовать Soundex в C #, включая алгоритм, который использует функция T-SQL DIFFERENCE ().

Нет, .NET-метода, который переводил бы на это, нет.

 25 июн. 2009 г., 03:48
Да, есть. :)
 25 июн. 2009 г., 03:56
В самом деле. Думал о SqlMethods. [XXX], который не имеет различий. К счастью, есть простой способ показать, что ему нужно.
 25 июн. 2009 г., 03:51
Начиная с .NET 3.5 не существует ни одного для LINQ to SQL. Тот, который вы упомянули, четко определяет две вещи: 1. LINQ to Entities. 2. Поддерживается в 4.
Решение Вопроса

The System.Data.Objects.SqlFunctions  такие как Difference, Soundex, Like и т. д. Эти функции преобразуются в предложениях с помощью Linq2Sql в их эквиваленты T-SQL.

EDIT: К сожалению, это 4.0. Извини за это. Тем не менее, для этого вы можете создать пользовательскую функцию в вашей базе данных, добавить эту функцию в ваш файл DBML и вызвать ее так же, как и SqlMethods.Like (о которой я думал).Вот документы MSDN на него.

По сути, вы просто создаете UDF, который принимает те же входные данные, что и DIFFERENCE, и возвращает те же результаты. Эта функция не делает ничего, кроме вызова метода DIFFERENCE. Затем вы выставляете это в своем DBML и используете свою функцию в своих запросах.

Ваш ответ на вопрос