簡體   English   中英

EF7 錯誤插入默認日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM