在System.Data.SQLite中创建/使用用户定义的函数?

Ash*_*cke 41 c# sqlite system.data.sqlite

用户定义的函数和整理顺序完全支持用户定义的函数和整理顺序意味着在许多情况下,如果SQLite没有特性,您可以用自己喜欢的.NET语言自己编写.编写UDF和整理序列从未如此简单

我在这里找到的C#SQLite ADO.NET提供程序上发现了这一点,并且在理解有关如何实现/使用用户定义函数的文档时遇到了问题.

任何人都可以解释如何,或为这个失去的新手提供任何工作的例子?

Jar*_*xon 57

Robert Simpson有一个很好的例子,可以在sqlite查询中使用REGEX函数:

// 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'
Run Code Online (Sandbox Code Playgroud)

  • 作为参考,[请参阅此答案](http://stackoverflow.com/a/26155359/1352471)如何将其绑定到SQLiteConnection. (5认同)