我正在使用C#中的MVC 3應用程序,該程序在更新表中的條目時遇到問題。實體框架發送錯誤日期以更新語句
正從EF稱爲更新字符串被髮送的日期作爲這樣(在所有其他值where語句爲清楚起見刪除):
where [CreateDate] = '2012-09-24 19:12:08'
實際的數據庫條目的日期和SQL數據類型是datetime2(7):
2012-09-24 19:12:08.6457698
當代碼執行日期不匹配,沒有更新。我使用現有數據庫中的反向工程代碼優先創建了我的模型。這裏是我的型號:
public class NPost
{
[HiddenInput(DisplayValue = false)]
public int NPostID { get; set; }
[HiddenInput(DisplayValue = false)]
public System.Guid UserId { get; set; }
[Required(ErrorMessage = "Please enter a title!")]
[StringLength(Int32.MaxValue)]
public string Title { get; set; }
[AllowHtml]
[Required(ErrorMessage = "Please enter the body of the post!")]
[StringLength(Int32.MaxValue)]
public string Body { get; set; }
[Required(ErrorMessage = "Please enter at least one tag!")]
[StringLength(Int32.MaxValue)]
public string Tags { get; set; }
public System.DateTime CreateDate { get; set; }
public Nullable<System.DateTime> PublishDate { get; set; }
public Nullable<double> Rating { get; set; }
[Required(ErrorMessage = "Please enter a topic!")]
[StringLength(Int32.MaxValue)]
public string Topic { get; set; }
[StringLength(Int32.MaxValue)]
public string TitleImage { get; set; }
[StringLength(Int32.MaxValue)]
public string ListingImage { get; set; }
[StringLength(Int32.MaxValue)]
public string BoxImage { get; set; }
public virtual aspnet_Users aspnet_Users { get; set; }
}
我需要做些什麼才能使這些日期排隊和正常工作?
爲什麼地球上你用時間戳來匹配這些值?如果兩行在同一秒內插入,會怎麼樣? –
時間戳不是唯一標識符。我只是刪除了所有其他語句。 –
該日期來自EF正在使用的地方? – BNL