Update codefirst decimal default value

This commit is contained in:
sunkaixuna 2022-01-09 15:04:50 +08:00
parent 45bc377952
commit 416200e032
2 changed files with 10 additions and 1 deletions

View File

@ -11,8 +11,9 @@ namespace OrmTest
{
public static void Init()
{
var db = NewUnitTest.Db;
var id=db.Insertable(new Order() { CreateTime = DateTime.Now, Name = "a", Price = 111, CustomId = 1 }).ExecuteReturnIdentity();
var id=db.Insertable(new Order() { CreateTime = DateTime.Now, Name = "a", Price =Convert.ToDecimal( 111.00) , CustomId = 1 }).ExecuteReturnIdentity();
var data = db.GetSimpleClient<Order>().GetById(id);
var x=db.Storageable(data).WhereColumns(it=>it.Price).ToStorage();
Check.Exception(x.UpdateList.Count == 0, "unit error");

View File

@ -395,6 +395,14 @@ namespace SqlSugar
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
{
tableName = this.SqlBuilder.GetTranslationTableName(tableName);
foreach (var item in columns)
{
if (item.DataType == "decimal" && this.Context.CurrentConnectionConfig.DbType == DbType.SqlServer && item.DecimalDigits == 0 && item.Length == 0)
{
item.DecimalDigits = 4;
item.Length = 18;
}
}
string sql = GetCreateTableSql(tableName, columns);
this.Context.Ado.ExecuteCommand(sql);
if (isCreatePrimaryKey)