2009-06-13 11 views
39

Ich versuche, eine Suchseite mit LINQ zu Entities zu erstellen, aber der folgende Code gibt mir einen Laufzeitfehler über l.t.e. 'Boolean StartsWith() nicht erkannt. Der Code kompiliert einfach gut. Wie kann ich das besser umgehen, als die StartsWith zu einem gespeicherten Proc zu filtern?Problem mit LINQ zu Entities und String.StartsWith

+0

Konnten Sie den "folgenden Code" posten? Oder ist das Thema der vollständige Code? Sie meinen String.StartsWith statt Boolean.StartsWith? –

+0

@Rutger, danke, ich war zu schnell zum Senden und habe den Code vergessen. Ich habe auch die Unterschrift repariert. – ProfK

+0

Es gibt mindestens 6 Klammern, und wir vermissen immer noch den Funktionsprototyp und die Klassendefinition ... – em70

Antwort

77

Ich würde vermuten, dass EF die Überladung von StartsWith nicht unterstützt, die einen StringComparison-Parameter verwendet.

sollte es unterstützen Starts, EndsWith und Enthält, vielleicht können Sie versuchen:

dp.LastName.StartsWith(searchTerm) 

oder:

dp.LastName.ToLower().StartsWith(searchTerm) 

und vergewissern Sie sich, dass searchTerm auch Klein ist .

+2

Dead Right, die ganze Zeichenfolge Option thang wirft EF – ProfK

+0

Arbeitete als Charme, danke –

+1

Richtig geraten, aber bedenken Sie, dass es Groß-und Kleinschreibung in SQL übersetzt. – marsze

Verwandte Themen