entity framework 数据库默认时间的问题的一种解决方案

在我们开发winform 程序时,在获取系统当前日期的时候,通常会习惯性的用DateTime.Now,而且这样的代码通常是写在客户端的,但是这样就会存在一个问题,如果客户端的时间设置的不正确(通常由于操作员的原因),导致部署在服务器上的数据库录入时间的不正确。

然而在用数据库优先的时候,我们会发现,没有我们一直使用的getdate()方法,因此提供一种解决方法:

           PlatFormDBEntities db = new PlatFormDBEntities();
            var ts = db.Test.SingleOrDefault(o=>o.id == 8) ;//插叙一条记录
            var dbDate = db.Test.Select(o=>SqlFunctions.GetDate()).FirstOrDefault();//使用linq提供的内部函数获取数据库时间
            ts.TestDate = dbDate.Value;//更新这条记录的时间
            db.SaveChanges();

还没有发现更好的方法,希望大家提出!

posted @ 2013-01-23 07:58  左立军  阅读(2661)  评论(1编辑  收藏  举报