2016-07-22 30 views
0

Ich möchte einen Text durchsuchen, der Komma in der Datenbank enthält, aber es gibt kein Komma in der Referenz.Suche Entfernen von Komma mit Entity Framework

Zum Beispiel. In der Datenbank habe ich den folgenden Wert: „Entwicklung von Computerprogrammen, einschließlich elektronischen Spielen“

Also, ich versuche, um die Daten zu suchen, indem Sie die folgende Zeichenfolge als Referenz: „Entwicklung von Computerprogrammen einschließlich elektronischen Spiele“

HINWEIS, dass der einzige Unterschied ist, dass in der Datenbank habe ich ein Komma im Text, aber in meiner Referenz für die Suche habe ich nicht.

Hier ist mein Code:

public async Task<ActionResult>Index(string nomeServico) 
{ 
    using (MyDB db = new MyDB()) 
    { 
    // 1st We receive the following string:"development-of-computer-programs-including-electronic-games" 
    // but we remove all "-" characters 
    string serNome = nomeServico.RemoveCaractere("-", " "); 

    // we search the service that contains (in the SerName field) the value equal to the parameter of the Action. 
    Servicos servico = db.Servicos.FirstOrDefault(c => c.SerNome.ToLower().Equals(serNome, StringComparison.OrdinalIgnoreCase)); 
    } 
} 

Das Problem ist, dass in der Datenbank, die Daten Komma enthalten, und in dem Suchwert, nicht.

Antwort

1

In Ihrem Code ersetzen Sie "-" durch "" und das auch in Ihrer Suchzeichenfolge. Aber gemäß Ihrer Anforderung müssen Sie "," mit "" für Ihren DB-Eintrag ändern.

Probieren Sie etwas wie dies zu tun:

string serNome = nomeServico.ToLower(); 
Servicos servico = db.Servicos.FirstOrDefault(c => c.SerNome.Replace(",","").ToLower() == serNome); 

Hoffnung, die hilft !!

+0

Aber ersetzt der .Replace nur die erste Instanz. Wenn ich 3 Kommas habe, wird die .Replace nur die erste entfernen. – Dan

+1

@Dan Bist du dir sicher? Ich denke, ersetzen ersetzt alle übereinstimmenden Elemente. Hast Du es versucht? –