バックエンドとしてSQLサーバーを使用している場合、Soundexを利用できませんでしたか?何を検索しようとしているのかわかりません。検索入力として動的SQLを作成しようとしていると思います。そうでない場合は、LINQ用のSoundExがあると思います。
編集:私は訂正されたままです、SoundExのために行うことができるいくつかのlinqtosqlエンティティのものがあるようです。
ただし、MSDNにはsoundexの例があります。これは、今朝実行した簡単なテストでは、テストしたものと同じくらいうまくいくようです。
http://msdn.microsoft.com/en-us/library/bb669073.aspx
私が行った変更は、.ToUpper(invariant)の代わりに.ToUpperInvariant()を使用し、(文字列ワード)を渡す代わりに拡張メソッド(この文字列ワード)を使用しました
これが私が実行したものの例です
List<string> animals = new List<string>();
animals.Add("dogs");
animals.Add("dog");
animals.Add("cat");
animals.Add("rabbits");
animals.Add("doggie");
string dog = "dog";
var data = from animal in animals
where animal.SoundEx() == dog.SoundEx()
select animal;
データ:犬、犬、わんわん
SQLサーバーで、Contains / FreeText / ContainsTableなどを使用し、カタログに対してSoundExを使用すると(SQLサーバーの新しいバージョンに精通していません。使用したSQLServer 2000の実装に戻ります)、結果をランク付けすることもできます。
また、SQLサーバーを使用できる場合は、次のオプションを検討することをお勧めし
ます。LINQ to SQL SOUNDEX-可能ですか?
複数化ソリューションに関する懸念事項は、.Net4を利用できる必要があることです。
役に立つかもしれないレーベンシュタイン距離アルゴリズムもあります。