You can override the built-in function "lower":
[SQLiteFunction(Name = "lower", Arguments = 1, FuncType = FunctionType.Scalar)]
internal class LoverFunction : SQLiteFunction
{
public override object Invoke(object[] args)
{
Debug.Assert(args != null && args.Length == 1 && args[0] is string);
return ((string)args[0]).ToLower();
}
}
Then use
SELECT * FROM SomeTable WHERE lower(Name) LIKE lower(@p)