大约3天前,一个朋友帮我这个,但我需要重建我的控制器和查看和丢失自动输入“datetime.now”当客户端创造一些网络上的新编译 我记得那是上一行:1线控制器上自动输入datetime.now在新纪录
我来自巴西,对一些语言错误对不起我。
大约3天前,一个朋友帮我这个,但我需要重建我的控制器和查看和丢失自动输入“datetime.now”当客户端创造一些网络上的新编译 我记得那是上一行:1线控制器上自动输入datetime.now在新纪录
我来自巴西,对一些语言错误对不起我。
首先,请不要将代码作为图像发布。您的问题本身应该包含所有相关的文字代码。
这就是说,这里没有什么特别的。如果你想在你的控制器在保存之前设置一个属性来DateTime.Now
,你只是做是:
foo.CreatedDate = DateTime.Now;
db.Foos.Add(foo);
db.SaveChanges();
但是,它的更好,如果你要与任何频率要做到这一点,实际使用自定义getter和setter你的财产,以自动处理这个问题:
private DateTime? createdDate;
public DateTime CreatedDate
{
get { return createdDate ?? DateTime.Now; }
set { createdDate = value; }
}
这样一来,如果属性尚未明确设置,它会自动返回DateTime.Now
。它被设置后,它将返回任何设置。
最后,您应该避免DateTime.Now
。这个值是当地的服务器时间,并且与任何东西都没有关系。如果您曾在不同时区的服务器上共同定位您的站点,那么数据库中的值很快就会变得毫无意义。您应该始终使用DateTime.UtcNow
,它以UTC返回当前日期和时间,无论本地服务器时间如何,该日期和时间都将始终保持不变。或者,如果您坚持存储本地时间,请使用DateTimeOffset.Now
,这样您至少可以使用时区组件。