首页 > 其他 > 详细

谨慎DateTime.Now在EF的query中的使用

时间:2014-10-08 14:19:35      阅读:279      评论:0      收藏:0      [点我收藏+]

执行如下代码:

var query = from tr in _carrierRepository
select new BaseCarrier
{
CarrierCode = tr.CarrierCode,
CarrierName = tr.CName,
Alias = tr.Alias,
Country = tr.Country,
CreateTime = DateTime.Now
};

var list = query.ToList();

 

通过SqlServer的Profiler可以看出来,生成的sql是:

SELECT
1 AS [C1],
[Extent1].[CarrierCode] AS [CarrierCode],
[Extent1].[CName] AS [CName],
[Extent1].[Alias] AS [Alias],
[Extent1].[Country] AS [Country],
CAST( SysDateTime() AS datetime2) AS [C2]
FROM [dbo].[T_Code_Carriers] AS [Extent1]

即DateTime.Now转换成了使用 SysDateTime()这个函数了,这与我们的通过DateTime.Now获取应用服务器的系统时间的期望并不一致。

谨慎DateTime.Now在EF的query中的使用

原文:http://www.cnblogs.com/buguge/p/4011026.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!