Erstellen / Verwenden eines Benutzerdefinierte Funktionen in System.Data.SQLite?
-
05-07-2019 - |
Frage
Benutzerdefinierte Funktionen und Sortierfolgen Volle Unterstützung für benutzerdefinierte Funktionen und Sortierfolgen bedeutet, dass in vielen Fällen, wenn SQLite nicht über eine Funktion verfügen, können Sie es sich bequem in Ihrem .NET-Sprache schreiben kann. Schreiben UDF und Sortierfolgen war nie einfacher
ich dieses Bit auf der C # getupft SQLite ADO.NET Anbieter l hier und hatte Probleme das Verständnis der Dokumentation, wie mit Funktionen zu implementieren / Verwendung benutzerdefiniert.
Kann mir jemand erklären, wie man, oder bieten keine Arbeitsbeispiele für diese Neuling verloren?
Lösung
Robert Simpson hat ein großartiges Beispiel für eine REGEX Funktion, die Sie in Ihren SQLite-Abfragen verwenden können:
// taken from http://sqlite.phxsoftware.com/forums/p/348/1457.aspx#1457
[SQLiteFunction(Name = "REGEXP", Arguments = 2, FuncType = FunctionType.Scalar)]
class MyRegEx : SQLiteFunction
{
public override object Invoke(object[] args)
{
return System.Text.RegularExpressions.Regex.IsMatch(Convert.ToString(args[1]),Convert.ToString(args[0]));
}
}
// example SQL: SELECT * FROM Foo WHERE Foo.Name REGEXP '$bar'