EF的datetime核心约定

时间:2019-03-25 22:39:20

标签: entity-framework-core

我已经在EF 6项目中工作,在该项目中我们在框架代码中定义了Convention,以确保所有具有C#DateTime的实体POCO都将映射到Sql Server中的datetime2。现在没有公约了,我该如何在EF Core中实现这一目标?

1 个答案:

答案 0 :(得分:0)

感谢@DavidG。根据您发送的链接,我认为这将起作用(我现在处于公司网络上,并且使用的组策略不允许NuGet软件包管理器控制台调用entityframeworkcore.tools的init.ps1,因此我必须等待在家尝试一下)

foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
    var dateTimeProps = entity.GetProperties()
        .Where(p => p.PropertyInfo.PropertyType == typeof(DateTime));
    foreach (var prop in dateTimeProps)
    {
        modelBuilder.Entity(entity.Name).Property(prop.Name).HasColumnType("datetime2");
    }

}