diff --git a/FreeSql.Tests/FreeSql.Tests/Issues/592.cs b/FreeSql.Tests/FreeSql.Tests/Issues/592.cs index 97da64b5..3c3b7c7d 100644 --- a/FreeSql.Tests/FreeSql.Tests/Issues/592.cs +++ b/FreeSql.Tests/FreeSql.Tests/Issues/592.cs @@ -17,7 +17,10 @@ namespace FreeSql.Tests.Issues [Fact] public void AdoNet() { - using (var conn = g.mysql.Ado.MasterPool.Get()) + var fsql = g.mysql; + fsql.Select(); + + using (var conn = fsql.Ado.MasterPool.Get()) { var list = conn.Value.Select() .LeftJoin((rs, le) => rs.user_id == le.ur_userid) diff --git a/FreeSql.Tests/FreeSql.Tests/Issues/594.cs b/FreeSql.Tests/FreeSql.Tests/Issues/594.cs new file mode 100644 index 00000000..bac35b66 --- /dev/null +++ b/FreeSql.Tests/FreeSql.Tests/Issues/594.cs @@ -0,0 +1,50 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics; +using System.Reflection; +using System.Text; +using System.Threading; +using Xunit; + +namespace FreeSql.Tests.Issues +{ + public class _594 + { + [Fact] + public void Decimal() + { + var fsql = g.sqlserver; + + fsql.Delete().Where("1=1").ExecuteAffrows(); + var id = Guid.NewGuid(); + + Assert.Equal(1, fsql.Insert(new ts_decimal_18_4 { id = id }).ExecuteAffrows()); + Assert.Equal(1, fsql.Update(id) + .Set(a => a.price, 698830024.6700m) + .ExecuteAffrows()); + + Assert.Equal(1, fsql.Update() + .SetSource(new ts_decimal_18_4 { id = id, price = 698830024.6700m }) + .ExecuteAffrows()); + + Assert.Equal(1, fsql.Update(id).NoneParameter() + .Set(a => a.price, 698830024.6700m) + .ExecuteAffrows()); + + Assert.Equal(1, fsql.Update().NoneParameter() + .SetSource(new ts_decimal_18_4 { id = id, price = 698830024.6700m }) + .ExecuteAffrows()); + } + + class ts_decimal_18_4 + { + public Guid id { get; set; } + [Column(Precision = 18, Scale = 4)] + public decimal price { get; set; } + } + } +}