2009-10-14 2 views
0

мне нужно раздеться следующие символы из моих записей с помощью LINQ к SQL запросаметод строительства для LINQ запроса раздеться символов из записей

"\";:'.,[email protected]#$%^&*(_)~{}[]\\|<>? aeiouAEIOU"

я могу сделать это с моей Linq запрос здесь

from p in customers 
select new {customer_name = String.Concat(p.First_name.Replace("A","@"),p.Last_name.Replace("A","@")), address = p.Address.Replace("A","@") } 

, но я знаю, что должен быть лучший способ сделать это! Я попробовал метод в C#, чтобы удалить символы, но поскольку это linq для sql, он не работает. Ошибка говорит: «У меня нет поддерживаемого перевода на SQL»

Мне нужно несколько идей и примеров кода, как написать эту процедуру в C#. Или, возможно, напишите sql-функцию, чтобы сделать это, и пример того, как это сделать.

ответ

1

Однако вы решили обновить записи, вы можете использовать метод Regex.Replace() для замены нежелательных символов в строке.

Например:

using System.Text.RegularExpressions; 

// ... 

string unwanted = @"["";:'.,[email protected]#$%^&*(_)~{}\[\]\\|<>? aeiouAEIOU]"; 

string subject = "The quick brown fox jumped over the lazy dog."; 

string result = Regex.Replace(subject, unwanted, string.Empty); 
// Thqckbrwnfxjmpdvrthlzydg 

Read more about Regular Expressions и .NET implementation.

+0

Ошибка linq говорит «нет поддержки перевода на SQL» - любые другие идеи? – kiev

+1

Получите объекты клиента, обновите их, а затем сохраните обновленные значения обратно в базу данных, вместо того, чтобы пытаться обновить их как часть выбора? –

Смежные вопросы