EF7错误插入默认日期

奴役大师

我将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; }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Delphi 7中运行更新/插入查询时,如何解决默认值错误?

来自分类Dev

ASP.NET vNext EF7 dbContext问题

来自分类Dev

多对多EF7

来自分类Dev

laravel日期默认错误

来自分类Dev

在EF7中加载参考

来自分类Dev

EF7 Beta 4:AddEntityFramework不接受参数(配置)

来自分类Dev

在实体属性中使用NotMapped属性时,EF7添加迁移错误

来自分类Dev

EF7 DBContext的配置错误?

来自分类Dev

EF7投影不急于进行负荷收集

来自分类Dev

EF7使用SQLite生成错误的迁移

来自分类Dev

使用EF7的存储库模式

来自分类Dev

使用EF7和VNext访问DBContext

来自分类Dev

EF7一对多映射

来自分类Dev

ChangeTracker.Entries()CurrentValue等于EF7中的OriginalValue

来自分类Dev

未填充EF7核心多对多引用对象

来自分类Dev

EF7加载列表中实体的子级

来自分类Dev

从EF6升级到EF7(又名EF Core 1.0)的经验

来自分类Dev

ASP.NET vNext EF7 dbContext问题

来自分类Dev

EF7和breeze.js-批量保存订单

来自分类Dev

这些模型可以在EF7中表示吗?

来自分类Dev

EF7一对一关系

来自分类Dev

迁移到MVC6 / EF7:PluralizingTableNameConvention

来自分类Dev

EF7不保存对象图

来自分类Dev

以错误的方式插入日期

来自分类Dev

EF7代理集合未生成

来自分类Dev

如何修复EF7中的此错误?

来自分类Dev

使用EF7(EF Core)的UWP数据绑定

来自分类Dev

EF7一对多映射

来自分类Dev

从EF6升级到EF7(又名EF Core 1.0)的经验