在我们开发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();还没有发现更好的方法,希望大家提出!