String ex Enthält Pressions in OrmLite arbeitet in diesem Live example on Gistlyn gesehen, wie erwartet, die die neueste Version von OrmLite verwendet:
LogManager.LogFactory = new ConsoleLogFactory();
public class Person
{
[AutoIncrement]
public long Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
db.CreateTable<Person>();
db.Insert(new Person { FirstName = "Joeseph", LastName = "Smith" });
var rows = db.Select<Person>(x =>
x.FirstName.Contains("joe") || x.LastName.Contains("joe"));
, die die gültige Übereinstimmung gibt, wie erwartet und protokolliert die Abfrage an die Konsole ausgeführt:
DEBUG: SQL: CREATE TABLE "Person"
(
"Id" INTEGER PRIMARY KEY AUTOINCREMENT,
"FirstName" VARCHAR(8000) NULL,
"LastName" VARCHAR(8000) NULL
);
DEBUG: SQL: INSERT INTO "Person" ("FirstName","LastName") VALUES (@FirstName,@LastName)
PARAMS: @FirstName=Joeseph, @LastName=Smith
DEBUG: SQL: SELECT "Id", "FirstName", "LastName"
FROM "Person"
WHERE (upper("FirstName") like @0 OR upper("LastName") like @1)
PARAMS: @0=%JOE%, @1=%JOE%
OrmLite verwendet seit einiger Zeit parametrisierte Abfragen, so dass Sie eine alte Version von OrmLite verwenden müssen. Wenn Sie ein Upgrade auf die neueste Version von Ormlite durchführen, sollte es wie erwartet funktionieren.
yep - Ich war weit hinter meiner Ormlite-Version für dieses Projekt ... aktualisiert es und es funktioniert gut – scoob