2016-05-16 8 views

答えて

0

最初に画像としてコードを投稿しないでください。あなたの質問自体は、関連するすべてのコードをテキストに含める必要があります。

しかし、ここには特別なことは何もありません。あなたが実際にカスタムを使用するために、任意の周波数でこれをやろうとしている場合

foo.CreatedDate = DateTime.Now; 
db.Foos.Add(foo); 
db.SaveChanges(); 

はしかし、それは良いでしょう:あなたは、コントローラに保存する前にDateTime.Nowにプロパティを設定したい場合は、あなただけのことを行いますあなたの財産上のゲッターとセッターはこれを自動的に処理するために:

private DateTime? createdDate; 
public DateTime CreatedDate 
{ 
    get { return createdDate ?? DateTime.Now; } 
    set { createdDate = value; } 
} 

そのようにプロパティが明示的に設定されていない場合、それは自動的にDateTime.Nowを返します。それが設定されると、それが設定されたものを返します。

最後に、DateTime.Nowを避ける必要があります。その値はローカルののサーバの時間であり、実際には何の関連性もありません。異なるタイムゾーンのサーバーでサイトを同じ場所に配置すると、データベースの価値はすぐに意味をなさないものになります。 DateTime.UtcNowを使用する必要があります。これは現在の日付と時刻をUTCで返します。これはローカルサーバーの時刻に関係なく常に同じです。または、ローカル時間の保管を主張する場合は、DateTimeOffset.Nowを使用してください。少なくとも、作業するタイムゾーンコンポーネントが必要です。

関連する問題