如何实现DateTime实体属性以始终设置DateTime.Now

Ler*_*ica 3 c# datetime entity-framework properties

我已经阅读了一些关于自动实现的属性,但我仍然不太明白.我有和实体:

 public class News
    {
        public int NewsId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public DateTime Date { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

现在我不希望用户每次News创建新的类型实体时都自己设置日期.我希望记录随着它创建的日期时间自动保存.考虑一下我建议只需将set我的属性修改为:

public DateTime Date 
{
  get;
  set
  {
    Date = DateTime.Now;
  }
}
Run Code Online (Sandbox Code Playgroud)

但阅读有关该主题的内容,我看到标准方法是创建私有变量并在实现中使用它.这就是我有点失落的地方.

private DateTime _date = null;
public DateTime Date
{ 
Run Code Online (Sandbox Code Playgroud)

好吧,我不确定getter和setter的实现.有类似的东西似乎是合理的:set { _date = DateTime.Now;}我不知道如何处理该get部分,因为我希望从数据库中获取这些数据,所以类似于:get {return _date;} doesn't make much sense to me even though almost every example with auto implementedset`返回私有变量.但我认为,如果财产是一个实体,这没有多大意义.

Han*_*ing 5

一些返回当前日期的方法:

 public DateTime Date { get { return DateTime.Now; } }
Run Code Online (Sandbox Code Playgroud)

要么

 public class News
 {
    public News()
    {
       Date = DateTime.Now;
    }
    public DateTime Date { get; private set; }
 }
Run Code Online (Sandbox Code Playgroud)

第一个将始终返回当前日期/时间,即使该实例是在一段时间之前创建的.第二个将返回实例创建的日期/时间.两者都阻止用户设置Date值.