EntityFramework获取数据库的时间

由于本地时间和数据库时间可能不一致, 所以我们常常抓取数据库的时间作为我们数据的时间,那在EntityFramework中要如何抓取时间呢?网上常见的做法是利用SqlFunctions.GetDate(),但是该函数必须要放到模型中来执行才可以,代码如下

  var now = this.TUser.Select(t => SqlFunctions.GetDate()).FirstOrDefault();
            if (now == null)
            {
                now = new DateTime(1900, 1, 1, 0, 0, 0);
            }
            return now.Value;

其中TUser是数据库中的一个表,用其他表也是可以的。一般情况下是没有问题的。但是当用于查询的表,比如这里的TUser中没有任何数据时,返回的时间是空的。为何呢?因为该函数是依赖于select查询行数据,没有任何数据时,自然得不到结果。为此我们采用另外一种方法,直接SELECT GETDATE(),代码如下。

var now = this.Database.SqlQuery<DateTime?>("SELECT GetDate()").First();
            if (now == null)
            {
                now = new DateTime(1900, 1, 1, 0, 0, 0);
            }
            return now.Value;
这样就确保了数据库时间的获取,为了方便使用,我们可以将这段代码封装到XXEntities : DbContext的部分类中。比如

namespace XXModel
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    using System.Data.Entity.SqlServer;
    using System.Linq;

    public partial class XXEntities : DbContext
    {
        /// <summary>
        /// 自定义连接串
        /// </summary>
        /// <param name="Connstring"></param>
        public KingEntities(string Connstring)
            : base(Connstring)
        {

        }

        #region FetchDBDateTime Function              
        /// <summary>
        /// 获取数据库的当前时间
        /// </summary>
        /// <returns></returns>
        public DateTime FetchDBDateTime()
        {
            var now = this.Database.SqlQuery<DateTime?>("SELECT GetDate()").First();
            if (now == null)
            {
                now = new DateTime(1900, 1, 1, 0, 0, 0);
            }
            return now.Value;
        }
        #endregion
    }
}
在需要的地方,只要如下调用即可

dbContext.FetchDBDateTime() 

转载请注明出处。


转载于:https://www.cnblogs.com/sparkleDai/p/7604919.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xxdd.net购物系统是一套自选网上商城精美模版,自主商品管理,自行网店经营的网上商城平台,系统具有强大的商品管理、购物车、订单统计、会员管理等功能,同时拥有灵活多变的商品管理、新闻管理等功能,功能强劲的后台管理界面,无需登录FTP,通过IE浏览器即可管理整个网站。xxdd.net企业购物平台经多方面权威调查和研究为您精心开发了很多特色实用功能。使商品展示、管理、服务全面升级。xxdd.net企业购物平台为您提供了多款专业美观的店面样式、俱备完整的购物网站功能、结构简单、容易使用、并设有促销广告和店标自定义功能。适合于企业及个人经营管理,操作简单,您不需懂得太多的计算机知识,也无需制作复杂网页,您只需订购这套系统,把网店代码及模板文件,通过FTP远程上传到您的网络空间,就完成网上商店初步设置。随后,登录到后台,点点鼠标,在线设置轻松设置各项功能及添加您要出售的商品,您的网上商店就这样轻松建设成功了。不同版本可以满足从小流量到大流量,从个人到企业各方面应用的要求,为你提供一个全新、快速和优秀的网上销售解决方案。 一、功能列表 系统特点    (1)用户无需考虑系统的安装维护;    (2)美观、友好的展示铺面;      (3)设计中应用了多种网络安全技术;      (4)顾客可以方便的查询并订购商品;      (5)用户可以方便的定义各种商品信息;      (6)系统选用强大的数据库保存各类信息;    (7)系统支持多种浏览器;    (8)功能模块清晰实用强大;    (9)系统有着良好的扩充性和升级性; 前台功能介绍   (1) 会员注册及登录模块 为了确保交易信息的有效性和网站功能拓展,购物网站需要以会员机制运作,浏览者必须成为会员,才能够在网站中购物。该模块通过与浏览者的交互,记录浏览者的基本信息,通过后台审核确定其信息的有效性。   (2) 商品分类展示模块 商品分门别类、分层次展示不仅方便浏览者迅速找到自己的目标商品,同时增强了网站的亲和力。该模块是浏览者与网站接触最频繁的部分,要突出用户性和流程性。   (3) 商品信息检索模块 信息检索是网站提供给消费者最基本的商品搜索工具,该功能可以根据商品特点细化,充分照顾浏览者的使用方式。   (4) 购物车模块 是一个人性化的工具,浏览者对于中意的商品,在购买前临时存放在购物车中,并可以随时增减购物车中的商品种类和数量,以提高购物效率。   (5) 生成订单模块 浏览者购物完毕,系统会引导其进行结账,在选择好结账方式后,系统会自动生成并交给客户一个唯一的订单号。   (6) 订单查询模块 客户可以根据自己的订单号,通过专门的入口跟踪订单的处理情况。   (7)商品排行模块 最新商品,销售排行,关注排行,推荐商品,特价商品,最新定购等,让客户一幕了然,非常方便的查看兴趣产品   (8)反馈留言模块 完善的客服功能,客户可通过反馈表或网上调查表中提出对产品的看法建议等,   (9)短信模块 站内短信功能,可定期向相关会员发送商业信息,定期向相关会员发送商业信息,发掘潜在客户。   (10) 商品品牌展示模块 商品分门别类、分层次展示不仅方便浏览者迅速找到自己的目标商品,同时增强了网站的亲和力。该模块是浏览者与网站接触最频繁的部分,要突出用户性和流程性。   (11) 商品类别管理模块 我们在网站中所看到的商品分类不是固定的,后台管理员可以根据自己商品种类的变化莱对目前的分类进行编辑修改,比如是否需要增加产品大类?是否需要删除某个产品小类?   (12) 商品管理模块 如果说商品类别管理确定了网上商品的结构框架,那么本模块则为这些框架增加内容,将商品按照预定的类别进行归类编辑,比如某类产品是否新到商品需要添加?某些商品已经过季,是否需要撤掉?   (13) 会员管理模块 该模块负责前台注册会员的信息审核,对于有效信息,网站准许其成为会员并购物;否则可以进行清理。同时该模块存储了会员的信息及购物纪录,是一个非常有价值的客户信息库。   (14) 定单管理模块 跟踪并记录订单情况,包括新订单提醒、订单处理纪录、订单查询及阶段性订单统计等功能。   (15) 新闻管理模块 该模块主要是管理前台网站发布的各种站内外的新闻、产品信息等。   (16)更多模块不一一介绍了,具体请看演示,感谢您的支持! 后台功能介绍 商品管理 /增加商品 /修改商品 /脱销商品 用户管理 /前台用户 /后台用户 /VIP 资格 /推荐用户 /会员等级 订单管理 /全部订单 /未作处理 /款已划出 /款已收到 /货已发出 /货已收到 分类管理 /大类管理 /小类管理 /类别转移 /添加品牌 /品牌管理 信息管理 /添加新闻 /编辑新闻 /公告设置 /查看反馈 /添加投票 /管理投票 /投票代码 /商品评论 /用户广播 常规设置 /初始设置 /高级设置 /基本信息 /付款方式 /支付方式 编辑管理 /样式管理 /获取代码 /上传管理 广告管理 /广告设置 /文字连接 /图片连接 其它管理 /登陆日志 /空间探测 /空间查看 数据管理 /备份数据 /还原数据 /压缩数据 全面的安全性处理 (1) 数据库防下载处理 (2) CONN防止暴库处理 (3) 防止跨站脚本攻击 (4) SQL注入式攻击防范 (5) 禁止脱机浏览工具浏览 (6) 后台登陆采用验证码验证 (7) 会员密码采用MD5方式加密 (8) 防范未知IP访问及软件攻击 (9) 管理员密码采用MD5方式加密 (10) 过滤sql注入代码及HTML代码防护 (11) 进行数据来源安全性监测,跨站脚本防范 (12) 管理员登陆日至记录,非法操作代码日至记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值