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

执行如下代码:

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获取应用服务器的系统时间的期望并不一致。

时间: 2024-12-14 16:19:12

谨慎DateTime.Now在EF的query中的使用的相关文章

关于EF实体框架中的 dbContext

EF4.1包括Code First和DbContext API.DbContext API为EF提供更多的工作方式:Code First,Database First和Model First. 使用DbContext构造函数 1. Code First约定连接 namespace Magic.Unicorn{    public class UnicornsContext : DbContext    {        public UnicornsContext()        // C#

C#学习-EF在三层中使用

1.搭建普通三层 DAL层,BLL层,Model层,Web层: DAL层引用Model层 BLL层引用DAL层和Model层 Web层引用BLL层和Model层 2.实现EF三层的搭建(添加引用,修改配置信息) 2.1添加EF对象 在Model中添加一个ADO.NET实体数据集 2.2添加引用信息 在DAL层中添加引用,EntityFramework.dll在你创建的解决方案文件夹下的packages文件夹中. 这里有个注意: 添加的时候看看引用的EntityFramework.dll的版本是否

Spring Data之@Query中的org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML

1. 环境准备 Spring , Spring Data, JPA, HIbernate, JDK 1.7 2.  问题提出 在使用Spring Data 来更新数据之时,爆出了如下错误信息: @Query("UPDATE User u SET u.state = ?1 WHERE u.server.id = ?2") public void updateAllUsers(long state, long serverid); 错误信息如下: org.springframework.d

media query中的条件重叠

想必接触过响应式布局的朋友对于media query都不会陌生,响应式布局也正是通过这个关键的属性来实现的.一些响应式布局的教程中通常都会进行如下类似设置来实现不同视口宽度条件下的布局示例: @media screen and (max-width:600px){/* 样式一 */} @media screen and (min-width:600px) and (max-width:960px){/* 样式二 */} @media screen and (min-width:960px){/*

Boolean类型在EF和MySql中的映射关系

MySQL没有Boolean类型.这也是比较奇怪的现象.例: create table xs ( id int primary key, bl boolean ) 这样是可以创建成功,但查看一下建表后的语句,就会发现,MySql把它替换成tinyint(1).也就是说MySql把boolean=tinyInt了. Boolean类型: MySql保存Boolean值时用1代表TRUE,0代表FALSE,Boolean在MySql里的类型为tinyint(1), MySql里有四个常量:true,

EF获取DbContext中已注册的所有实体类型

/// <summary> /// 获取DbContext中已注册的实体类型 /// </summary> /// <typeparam name="T">DbContext上下文类型</typeparam> /// <param name="ass">实体所在程序集</param> /// <returns></returns> public IEnumerable&l

EF操作VS中

1.安装mysql server 2.安装MySql的VS插件(版本请下载最新版,百度自己搜索,这个不用多说)mysql-for-visualstudio-1.2.3.msi 3.安装用于.net连接程序mysql-connector-net-6.9.5.msi 安装好这三个工具后执行下面命令,其余有些修改MYSQL支持中文啦,什么读取出错啦,看我其他文章,EF里面的 Install-Package EntityFramework -Version 6.1.1Install-Package En

4.CRUD Operations Using the Repository Pattern in MVC【在MVC中使用仓储模式进行增删查改】

原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 上一篇文章,讲到了MVC中基本的增删查改,这篇文章,我会继续说到,使用仓储模式,进行增删查改. 什么是仓储模式呢,我们先来了解一下:  仓储模式是为了在程序的数据访问层和业务逻辑层之间创建一个抽象层,它是一种数据访问模式,提供了一种更松散耦合的数据访问方法.我们把创建数据访问的逻辑代码写在单独的类中,或者类库中

1.Relationship in Entity Framework Using Code First Approach With Fluent API【使用EF Code-First方式和Fluent API来探讨EF中的关系】

In this article, you will learn about relationships in Entity Framework using the Code First Approach with Fluent API. 在这篇文章中,你将会学习到使用EF Code-First方式和Fluent API来探讨EF中的关系(一对一,一对多,多对多). Introduction[介绍] A relationship, in the context of databases, is a