2016-10-14 3 views
1

私はSQLiteのでEF7を使用して、このように私のクラスを定義している:私はチェックEF7エラー挿入デフォルトの日付

modelBuilder.Entity<LogMessage>() 
      .Property(m => m.MessageDate).HasDefaultValueSql("CURRENT_TIMESTAMP"); 

class LogMessage 
{ 
    public LogMessage() 
    { 

    } 

    public DateTime? MessageDate { get; set; } 
    public string Body { get; set; } 

} 

をOnModelCreatingに私はこのようなデフォルト値を指定しますデータベース私はこの構造になっています:

CREATE TABLE "LogMessage" 
(
"MessageDate" TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP) CONSTRAINT "PK_LogMessage" PRIMARY KEY, 
"Body" TEXT 
) 

しかし、私はエンティティに何かを追加しようとしていますこのコードで:

An unhandled exception of type 'Microsoft.Data.Entity.DbUpdateConcurrencyException' occurred in EntityFramework.Core.dll Additional information: Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded

なぜ私はこのエラーを取得していますについての任意のアイデア:

result = "a"; 
Message = new LogMessage(); 
Message.Body = result; 
context.LogMessages.Add(Message); 
context.SaveChanges(); 

は、私はこのエラーを取得しますか?

答えて

1

Auto-Implemented Propertiesは次のように使用できます。

class LogMessage 
{ 
    public LogMessage() 
    { 

    } 

    public DateTime? MessageDate { get; set; } = DateTime.Now; 
    public string Body { get; set; } 

} 
+1

です。 – bondagemaster

+0

ありがとうございました。あなたは大歓迎です:) – Sampath

関連する問題