SQL Server 2008 を使用して、比較する前に DB 値に対して正規表現を実行したいと思います。
CLR ユーザー定義関数を調べています (EDM 関数を調査しましたが、正規表現には UDF の方が適しているという印象を受けました。間違っている場合は修正してください)。
理想的には、次のような linq 呼び出しを行いたいと思います。
var results= db.Items.Where(i => i.CustomFormatFunction() == xyz);
これまでのところ、私はこのC#コードを持っています:
public static partial class UserDefinedFunctions
{
[SqlFunction]
public static SqlString CustomFormatFunction(string str)
{
return Regex.Replace(Regex.Replace(HttpUtility.HtmlDecode(str), @"\s+", "-"), "[^a-zA-Z0-9/-]+", "").ToLower();
}
}
linq クエリで使用できるようにするには、さらにどのような手順が必要ですか?