首页 > 解决方案 > EF 2.1 中的播种日期

问题描述

我在 Entity Framework 2.1 中使用新的播种数据方式:

modelBuilder.Entity<Blog>().HasData(new Blog {BlogId = 1, CreateDate = DateTime.Now});

但是,将此应用于数据库会引发异常Conversion failed when converting date and/or time from character string。我可以看到在生成的 SQL 中,值'2018-06-01T13:22:13.248-07:00'是错误的。而且由于该字段显然是DateTime,我无法按照我想要的方式将其格式化为字符串。

它是EF中的错误吗?还是我遗漏了一些明显的东西?在传统的EF 代码中,它可以正常工作:

Blog.CreateDate = DateTime.Now;
...
context.SaveChanges();

或者也许在 SQL 端有一些解决方法可以让它以这种格式获取日期?

标签: sql-serverasp.net-coreentity-framework-core

解决方案


使用 {[Column(TypeName = "datetime")] 注释

public class Blog
{[Column(TypeName = "datetime")]
public DateTime CreateDate { get; set; }

推荐阅读