- 增加 fsql.Insert(Dictionary<string, object>) 无实体类插入方法;#481

This commit is contained in:
2881099
2022-03-24 18:06:54 +08:00
parent 56ce675b65
commit dc688adc11
47 changed files with 416 additions and 80 deletions

View File

@ -30,8 +30,8 @@ namespace FreeSql.MySql
public int GetDbType(DbColumnInfo column) => (int)GetMySqlDbType(column);
MySqlDbType GetMySqlDbType(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 MySqlDbType.Bit;

View File

@ -23,7 +23,7 @@ namespace FreeSql.MySql
{
if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
var ret = new MySqlParameter { ParameterName = QuoteParamterName(parameterName), Value = value };
var dbtype = (MySqlDbType)_orm.CodeFirst.GetDbInfo(type)?.type;
var dbtype = (MySqlDbType?)_orm.CodeFirst.GetDbInfo(type)?.type;
if (col != null)
{
var dbtype2 = (MySqlDbType)_orm.DbFirst.GetDbType(new DatabaseModel.DbColumnInfo { DbTypeText = col.DbTypeText, DbTypeTextFull = col.Attribute.DbType, MaxLength = col.DbSize });
@ -46,7 +46,7 @@ namespace FreeSql.MySql
if (value != null) ret.Value = (value as MygisGeometry).AsText();
}
else
ret.MySqlDbType = dbtype;
ret.MySqlDbType = dbtype ?? default;
_params?.Add(ret);
return ret;
}