DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.24k stars 1.33k forks source link

新增或更新操作,遇到日期時間精準度 #1268

Closed ricoisme closed 1 month ago

ricoisme commented 1 month ago

我目前無主鍵寫法如下,進行資料表的新增或更新操作,但下面寫法如何設定日期時間格式,才能避免匹配不到資料問題,謝謝 var total = 0; var fullTableName = GetFullTableName(); var dt = GetTableLayout(fullTableName); var dcs = _sqlSugarClient.Utilities.DataTableToDictionaryList(dt); var whereColumns = GetWhereColumns(); --array var ignoreColumns = GetIgnoreColumns();

var dtResult = _sqlSugarClient .Storageable(dcs, fullTableName) .WhereColumns(whereColumns) --如何設定時間格式?避免匹配不到資料問題 .ToStorage(); var updateable = dtResult.AsUpdateable; var insertable = dtResult.AsInsertable;

if (ignoreColumns?.Length > 0) { total = await updateable.IgnoreColumns(ignoreColumns) .ExecuteCommandAsync(); total += await insertable.IgnoreColumns(ignoreColumns) .ExecuteCommandAsync(); } else { total = await updateable.ExecuteCommandAsync(); total += await insertable.ExecuteCommandAsync(); }

DotNetNext commented 1 month ago

datatable 方法还少个重载。 实体是有时间格式化的,这个我处理一下

DotNetNext commented 1 month ago

SqlSugarCore 5.1.4.167-preview01 更新到 最新预览版本

.WhereColumns(whereColumns,it=>it.DateTime.ToString("yyyy-MM-dd")) 可以调整时间格式

DotNetNext commented 1 month ago

数据库要时间字段

ricoisme commented 1 month ago

真的非常感謝