Wenn Sie SQL Server als Ihr Backend verwenden, können Sie Soundex nicht verwenden? Ich bin mir nicht sicher, wonach Sie suchen. Ich nehme an, Sie versuchen, dynamisches SQL als Sucheingabe zu erstellen. Wenn nicht, denke ich, dass es SoundEx für LINQ gibt.
EDIT: Ich stehe korrigiert, es scheint, es gibt einige Linq zu SQL Entity Zeug, die für SoundEx getan werden können.
Allerdings hat MSDN ein Soundex-Beispiel, das für die einfachen Tests, die ich heute Morgen ausgeführt habe, scheint gut zu machen, was ich getestet habe. http://msdn.microsoft.com/en-us/library/bb669073.aspx
Die Veränderung I gemacht anstelle von .ToUpper (invariant) i .ToUpperInvariant() verwendet und anstelle des Weitergabe (string Wort) i eine Erweiterungsmethode verwendet (dieses Wort-String)
Hier ist ein Beispiel von dem, was ich lief
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;
Daten: Hunde, Hund, Hunde
Jetzt mit SQL-Server, die mit Enthält/Freetext/Contains etc und SoundEx gegen einen Katalog (ich bin nicht vertraut mit dem ne mit Wenn Sie SQL-Server-Versionen verwenden, die auf die Implementierung von SQLServer 2000 zurückgehen, können Sie auch Ihre Ergebnisse bewerten.
Auch wenn Sie haben die Möglichkeit, SQL-Server verwenden Sie in diese Option suchen möchten: LINQ to SQL SOUNDEX - possible?
Die Sorge mit der Pluralisierung Lösung, Sie müssen in der Lage sein, .Net 4.
zu nutzen Es gibt auch den Levenshtein-Distanzalgorithmus, der nützlich sein kann.
Sergi - Ich hänge meinen Kopf in Schande ...Ich werde meine alten Fragen noch einmal aufgreifen und es klären! sch - Nicht sonderlich beunruhigt über die Kuriositäten, die Englisch zulässt ... Ich denke, dass all das ein Projekt wäre, wenn man all diese Dinge einfangen würde. – SAL