我已经在EF 6项目中工作,在该项目中我们在框架代码中定义了Convention,以确保所有具有C#DateTime的实体POCO都将映射到Sql Server中的datetime2。现在没有公约了,我该如何在EF Core中实现这一目标?
答案 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");
}
}