- 增加 IN 参数扩展 where id in @ids;#560

This commit is contained in:
2881099
2020-11-24 00:17:12 +08:00
parent c9a1e2a7b8
commit 3aec26337a
17 changed files with 322 additions and 217 deletions

View File

@ -44,23 +44,27 @@ namespace FreeSql.Sqlite
public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
Utils.GetDbParamtersByObject<DbParameter>(sql, obj, "@", (name, type, value) =>
{
var dbtype = (DbType)_orm.CodeFirst.GetDbInfo(type)?.type;
switch (dbtype)
var typeint = _orm.CodeFirst.GetDbInfo(type)?.type;
var dbtype = typeint != null ? (DbType?)typeint : null;
if (dbtype != null)
{
case DbType.Guid:
if (value == null) value = null;
else value = ((Guid)value).ToString();
dbtype = DbType.String;
break;
case DbType.Time:
if (value == null) value = null;
else value = ((TimeSpan)value).Ticks / 10000;
dbtype = DbType.Int64;
break;
switch (dbtype.Value)
{
case DbType.Guid:
if (value == null) value = null;
else value = ((Guid)value).ToString();
dbtype = DbType.String;
break;
case DbType.Time:
if (value == null) value = null;
else value = ((TimeSpan)value).Ticks / 10000;
dbtype = DbType.Int64;
break;
}
}
var ret = new SQLiteParameter();
ret.ParameterName = $"@{name}";
ret.DbType = dbtype;
if (dbtype != null) ret.DbType = dbtype.Value;
ret.Value = value;
return ret;
});