[英]EF7 Error insert Default Date
我將 EF7 與 SQLite 一起使用,並像這樣定義我的類:
class LogMessage
{
public LogMessage()
{
}
public DateTime? MessageDate { get; set; }
public string Body { get; set; }
}
在 OnModelCreating 中,我指定了這樣的默認值:
modelBuilder.Entity<LogMessage>()
.Property(m => m.MessageDate).HasDefaultValueSql("CURRENT_TIMESTAMP");
當我檢查數據庫時,我得到了這個對我來說很好的結構:
CREATE TABLE "LogMessage"
(
"MessageDate" TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP) CONSTRAINT "PK_LogMessage" PRIMARY KEY,
"Body" TEXT
)
但是當我嘗試使用以下代碼向實體添加內容時:
result = "a";
Message = new LogMessage();
Message.Body = result;
context.LogMessages.Add(Message);
context.SaveChanges();
我收到此錯誤:
EntityFramework.Core.dll 中發生類型為“Microsoft.Data.Entity.DbUpdateConcurrencyException”的未處理異常附加信息:數據庫操作預計會影響 1 行,但實際上影響了 0 行。 自加載實體以來,數據可能已被修改或刪除
知道為什么我會收到此錯誤嗎?
您可以使用 自動實現的屬性,如下所示。
class LogMessage
{
public LogMessage()
{
}
public DateTime? MessageDate { get; set; } = DateTime.Now;
public string Body { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.