mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
- 增加 IN 参数扩展 where id in @ids;#560
This commit is contained in:
@ -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;
|
||||
});
|
||||
|
Reference in New Issue
Block a user