- 增加 FreeSql.Provider.Sqlite 对 Xamarin 环境下的适配;

This commit is contained in:
28810
2019-11-07 02:33:27 +08:00
parent 13810c4422
commit 8ec8daa6be
5 changed files with 215 additions and 9 deletions

View File

@ -4,7 +4,6 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
using System.Linq.Expressions;
using System.Text;
@ -34,13 +33,16 @@ namespace FreeSql.Sqlite
dbtype = DbType.Int64;
break;
}
var ret = new SQLiteParameter { ParameterName = QuoteParamterName(parameterName), DbType = dbtype, Value = value };
var ret = MonoAdapter.GetSqliteParameter();
ret.ParameterName = QuoteParamterName(parameterName);
ret.DbType = dbtype;
ret.Value = value;
_params?.Add(ret);
return ret;
}
public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
Utils.GetDbParamtersByObject<SQLiteParameter>(sql, obj, "@", (name, type, value) =>
Utils.GetDbParamtersByObject<DbParameter>(sql, obj, "@", (name, type, value) =>
{
var dbtype = (DbType)_orm.CodeFirst.GetDbInfo(type)?.type;
switch (dbtype)
@ -56,7 +58,10 @@ namespace FreeSql.Sqlite
dbtype = DbType.Int64;
break;
}
var ret = new SQLiteParameter { ParameterName = $"@{name}", DbType = dbtype, Value = value };
var ret = MonoAdapter.GetSqliteParameter();
ret.ParameterName = $"@{name}";
ret.DbType = dbtype;
ret.Value = value;
return ret;
});