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.17k stars 1.32k forks source link

PostgreSql Insertable 一串 List 的时候, 9999-12-31 23:59:59.999999 会变成 "10000-01-01 00:00:00" #1233

Closed idea-zone closed 2 months ago

idea-zone commented 2 months ago

环境: pg12 ,SqlSugar 5.1.4.86 , NET5

数据库结构:

image

model
class Test1{

    public DateTime StartDateTime { get; set; } = DateTime.MinValue;
    public DateTime EndDateTime { get; set; } = DateTime.MinValue;
}
当只插入一条时,数据正常
 List<Test1> result = new List<Test1>();

            var rst = new Test1
            {
                StartDateTime = DateTime.MinValue, // 最早聊天时间
                EndDateTime = DateTime.MaxValue, // 最晚聊天时间
            };

            result.Add(rst);
            Context.Insertable(result).ExecuteCommand();

数据库的值 image

当批量插入多条时,数据不正常
 List<Test1> result = new List<Test1>();

            var rst = new Test1
            {
                StartDateTime = DateTime.MinValue, // 最早聊天时间
                EndDateTime = DateTime.MaxValue, // 最晚聊天时间
            };

           var rst = new Test1
            {
                StartDateTime = DateTime.MinValue, // 最早聊天时间
                EndDateTime = DateTime.MinValue, // 最晚聊天时间
            };

            result.Add(rst);
            Context.Insertable(result).ExecuteCommand();

image

DotNetNext commented 2 months ago

好的我处理一下

DotNetNext commented 2 months ago

SqlSugarCore 5.1.4.153-preview06 勾一下预览已修复

DotNetNext commented 2 months ago

还有问题吗

idea-zone commented 2 months ago

还有问题吗

System.Exception : 中文提示 : StartDateTime绑定到Test1失败,可以试着换一个类型,或者使用ORM自定义类型实现
English Message : MfImFriendChatSum StartDateTime bind error

  堆栈跟踪: 
SqlSugarEntity(IDataRecord )
IDataReaderEntityBuilder`1.Build(IDataRecord dataRecord)
DbBindAccessory.GetEntityList[T](SqlSugarProvider context, IDataReader dataReader)
DbBindProvider.DataReaderToList[T](Type type, IDataReader dataReader)
QueryableProvider`1.GetData[TResult](Boolean isComplexModel, Type entityType, IDataReader dataReader)
QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
QueryableProvider`1._ToList[TResult]()
QueryableProvider`1.ToList()
SqlSugarTest.Test_Batch_Insert()

数据源: image

已经开启了 Infinity DateTime image

idea-zone commented 2 months ago

还有问题吗

System.Exception : 中文提示 : StartDateTime绑定到Test1失败,可以试着换一个类型,或者使用ORM自定义类型实现
English Message : MfImFriendChatSum StartDateTime bind error

  堆栈跟踪: 
SqlSugarEntity(IDataRecord )
IDataReaderEntityBuilder`1.Build(IDataRecord dataRecord)
DbBindAccessory.GetEntityList[T](SqlSugarProvider context, IDataReader dataReader)
DbBindProvider.DataReaderToList[T](Type type, IDataReader dataReader)
QueryableProvider`1.GetData[TResult](Boolean isComplexModel, Type entityType, IDataReader dataReader)
QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
QueryableProvider`1._ToList[TResult]()
QueryableProvider`1.ToList()
SqlSugarTest.Test_Batch_Insert()

数据源: image

已经开启了 Infinity DateTime image

重新构建表测试没问题,这个先关闭了。