gpt4 book ai didi

c# - EF DateTimes 与 SQL Server 中保存的值不匹配

转载 作者:行者123 更新时间:2023-11-30 13:56:04 25 4
gpt4 key购买 nike

<分区>

我使用 C# Entity Framework 保存了一个日期时间,当我从数据库中加载该时间时,时间与我保存的值相差 1 或更多毫秒。

这是 C# 代码:

    public List<DateTime> TestDate()
{
var dates = new List<DateTime>();
DateTime testvalue = DateTime.Now;
dates.Add(testvalue);
IactexGMG2Entities firstContext = new IactexGMG2Entities();
var firstQuery = from p in firstContext.LocationProperties
where p.locationPropertyId == 4
select p;
var firstRec = firstQuery.Single();
firstRec.locationPropertyDateTime = testvalue;
firstContext.SaveChanges();
firstContext.Dispose();
IactexGMG2Entities secondContext = new IactexGMG2Entities();
var secondQuery = from p in secondContext.LocationProperties
where p.locationPropertyId == 4
select p;
var secondRec = secondQuery.Single();

var secondDate = secondRec.locationPropertyDateTime ?? DateTime.Now;
dates.Add(secondDate);
secondContext.Dispose();
return dates;
}

这是接收到的值:

5/29/2015 5:43:25 PM . 154 , 635685182051540566
5/29/2015 5:43:25 PM . 153 , 635685182051530000

这是显示值的 Razor 代码:

@foreach (var date in Model)
{
counter++;
<div>
@date . @date.Millisecond , @date.Ticks
</div>
}

如您所见,从数据库中读回的第二个值比第一个值低 1.0566 毫秒。

变化量变化,正的和负的,总是有少量的毫秒数。

有谁知道日期值之间的转换是如何发生的?

注意:如果我使用相同的上下文来读取日期值,则这些值是匹配的。我认为这是因为它使用的是缓存值,而不是 SQL Server 值。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com