mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-08-05 23:52:26 +08:00
- 增加 fsql.Insert(Dictionary<string, object>) 无实体类插入方法;#481
This commit is contained in:
@ -27,7 +27,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
public int GetDbType(DbColumnInfo column) => (int)GetSqlDbType(column);
|
||||
OdbcType GetSqlDbType(DbColumnInfo column)
|
||||
{
|
||||
var dbfull = column.DbTypeTextFull.ToLower();
|
||||
var dbfull = column.DbTypeTextFull?.ToLower();
|
||||
switch (dbfull)
|
||||
{
|
||||
case "number(1)": return OdbcType.Bit;
|
||||
@ -55,7 +55,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
|
||||
case "char(36)": return OdbcType.Char;
|
||||
}
|
||||
switch (column.DbTypeText.ToLower())
|
||||
switch (column.DbTypeText?.ToLower())
|
||||
{
|
||||
case "bit":
|
||||
_dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(1)"]);
|
||||
@ -157,7 +157,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
return OdbcType.Double;
|
||||
case "rowid":
|
||||
default:
|
||||
_dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
|
||||
if (dbfull != null) _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
|
||||
return OdbcType.NVarChar;
|
||||
}
|
||||
throw new NotImplementedException($"未实现 {column.DbTypeTextFull} 类型映射");
|
||||
|
@ -18,7 +18,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
public override DbParameter AppendParamter(List<DbParameter> _params, string parameterName, ColumnInfo col, Type type, object value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
|
||||
var dbtype = (OdbcType)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
var dbtype = (OdbcType?)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
switch (dbtype)
|
||||
{
|
||||
case OdbcType.Bit:
|
||||
@ -36,7 +36,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
value = string.Concat(value);
|
||||
break;
|
||||
}
|
||||
var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype, Value = value };
|
||||
var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype ?? default, Value = value };
|
||||
_params?.Add(ret);
|
||||
return ret;
|
||||
}
|
||||
@ -44,7 +44,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
|
||||
Utils.GetDbParamtersByObject<OdbcParameter>(sql, obj, null, (name, type, value) =>
|
||||
{
|
||||
var dbtype = (OdbcType)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
var dbtype = (OdbcType?)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
switch (dbtype)
|
||||
{
|
||||
case OdbcType.Bit:
|
||||
@ -62,7 +62,7 @@ namespace FreeSql.Odbc.Dameng
|
||||
value = string.Concat(value);
|
||||
break;
|
||||
}
|
||||
var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype, Value = value };
|
||||
var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype ?? default, Value = value };
|
||||
return ret;
|
||||
});
|
||||
|
||||
|
@ -29,10 +29,10 @@ namespace FreeSql.Odbc.KingbaseES
|
||||
OdbcType GetSqlDbType(DbColumnInfo column)
|
||||
{
|
||||
var dbtype = column.DbTypeText;
|
||||
var isarray = dbtype.EndsWith("[]");
|
||||
var isarray = dbtype?.EndsWith("[]") == true;
|
||||
if (isarray) dbtype = dbtype.Remove(dbtype.Length - 2);
|
||||
var ret = OdbcType.VarChar;
|
||||
switch (dbtype.ToLower().TrimStart('_'))
|
||||
switch (dbtype?.ToLower().TrimStart('_'))
|
||||
{
|
||||
case "tinyint": ret = OdbcType.TinyInt; break;
|
||||
case "int2": ret = OdbcType.SmallInt; break;
|
||||
|
@ -26,8 +26,8 @@ namespace FreeSql.Odbc.MySql
|
||||
public int GetDbType(DbColumnInfo column) => (int)GetOdbcType(column);
|
||||
OdbcType GetOdbcType(DbColumnInfo column)
|
||||
{
|
||||
var is_unsigned = column.DbTypeTextFull.ToLower().EndsWith(" unsigned");
|
||||
switch (column.DbTypeText.ToLower())
|
||||
var is_unsigned = column.DbTypeTextFull?.ToLower().EndsWith(" unsigned") == true;
|
||||
switch (column.DbTypeText?.ToLower())
|
||||
{
|
||||
case "bit": return OdbcType.Bit;
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
public int GetDbType(DbColumnInfo column) => (int)GetSqlDbType(column);
|
||||
OdbcType GetSqlDbType(DbColumnInfo column)
|
||||
{
|
||||
var dbfull = column.DbTypeTextFull.ToLower();
|
||||
var dbfull = column.DbTypeTextFull?.ToLower();
|
||||
switch (dbfull)
|
||||
{
|
||||
case "number(1)": return OdbcType.Bit;
|
||||
@ -55,7 +55,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
|
||||
case "char(36 char)": return OdbcType.Char;
|
||||
}
|
||||
switch (column.DbTypeText.ToLower())
|
||||
switch (column.DbTypeText?.ToLower())
|
||||
{
|
||||
case "number":
|
||||
_dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(10,2)"]);
|
||||
@ -110,7 +110,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
return OdbcType.Double;
|
||||
case "rowid":
|
||||
default:
|
||||
_dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
|
||||
if (dbfull != null) _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
|
||||
return OdbcType.NVarChar;
|
||||
}
|
||||
throw new NotImplementedException($"未实现 {column.DbTypeTextFull} 类型映射");
|
||||
|
@ -18,7 +18,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
public override DbParameter AppendParamter(List<DbParameter> _params, string parameterName, ColumnInfo col, Type type, object value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
|
||||
var dbtype = (OdbcType)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
var dbtype = (OdbcType?)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
switch (dbtype)
|
||||
{
|
||||
case OdbcType.Bit:
|
||||
@ -36,7 +36,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
value = string.Concat(value);
|
||||
break;
|
||||
}
|
||||
var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype, Value = value };
|
||||
var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype ?? default, Value = value };
|
||||
_params?.Add(ret);
|
||||
return ret;
|
||||
}
|
||||
@ -44,7 +44,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
|
||||
Utils.GetDbParamtersByObject<OdbcParameter>(sql, obj, null, (name, type, value) =>
|
||||
{
|
||||
var dbtype = (OdbcType)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
var dbtype = (OdbcType?)_orm.CodeFirst.GetDbInfo(type)?.type;
|
||||
switch (dbtype)
|
||||
{
|
||||
case OdbcType.Bit:
|
||||
@ -62,7 +62,7 @@ namespace FreeSql.Odbc.Oracle
|
||||
value = string.Concat(value);
|
||||
break;
|
||||
}
|
||||
var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype, Value = value };
|
||||
var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype ?? default, Value = value };
|
||||
return ret;
|
||||
});
|
||||
|
||||
|
@ -49,10 +49,10 @@ namespace FreeSql.Odbc.PostgreSQL
|
||||
OdbcType GetOdbcType(DbColumnInfo column)
|
||||
{
|
||||
var dbtype = column.DbTypeText;
|
||||
var isarray = dbtype.EndsWith("[]");
|
||||
var isarray = dbtype?.EndsWith("[]") == true;
|
||||
if (isarray) dbtype = dbtype.Remove(dbtype.Length - 2);
|
||||
OdbcType ret = OdbcType.VarChar;
|
||||
switch (dbtype.ToLower().TrimStart('_'))
|
||||
switch (dbtype?.ToLower().TrimStart('_'))
|
||||
{
|
||||
case "int2": ret = OdbcType.SmallInt; break;
|
||||
case "int4": ret = OdbcType.Int; break;
|
||||
|
@ -25,7 +25,7 @@ namespace FreeSql.Odbc.SqlServer
|
||||
public int GetDbType(DbColumnInfo column) => (int)GetSqlDbType(column);
|
||||
OdbcType GetSqlDbType(DbColumnInfo column)
|
||||
{
|
||||
switch (column.DbTypeText.ToLower())
|
||||
switch (column.DbTypeText?.ToLower())
|
||||
{
|
||||
case "bit": return OdbcType.Bit;
|
||||
case "tinyint": return OdbcType.TinyInt;
|
||||
|
Reference in New Issue
Block a user