在使用代码优先模型时,是否可以将实体框架DbContext
全局设置为对所有为System.DateTime
的属性使用datetime2
?
我可以通过使用HasColumnType()
方法为每个列执行此操作,但对于现有代码库,我希望使用全局解决方案。
发布于 2015-07-18 05:50:12
由于EF6已经发布了很长一段时间,这个问题仍然出现在搜索中,下面是使用自定义约定来设置SQL类型的方法。在DbContext类的OnModelCreating方法中执行以下操作:
modelBuilder.Properties<DateTime>()
.Configure(c => c.HasColumnType("datetime2"));
发布于 2013-03-06 21:45:44
在EF5中没有,但是EF6 (当前是alpha版本)允许在custom conventions中这样做。对于EF5,您需要一些基于反射的自定义约定框架,该框架将通过反射检查向模型构建器添加HasColumnType
调用,例如EF Code First Extras (它声称支持可插拔约定)。
https://stackoverflow.com/questions/15248488
复制相似问题