我的数据库模型配置为使用datetime2格式而不仅仅是datetime。生成数据库时,所有日期列都是datetime而不是datetime2。这是我的列配置代码;
Property(a => a.LastOpened)
.HasColumnOrder(++index)
.HasColumnType("datetime2")
.HasPrecision(0)
.IsRequired();
我可以发誓,这在早期版本的EF中有效,例如4.1,但我不明白为什么它现在不起作用。我正在连接到SQL Server 2008 R2 ...
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:8)
已知问题
[...]
- 并非所有硬编码列数据类型都在生成中受到尊重 数据库即可。如果使用Column数据批注或HasColumnType 用于硬编码列数据类型的流畅API方法(即xml,money, 等),创建数据库时不使用此数据类型。我们会 在4.3.1补丁版本中包含对此问题的修复。
<强>更新强>
EF4.3.1补丁现已推出。 EF4.3.1 and EF5 Beta 1 Available on NuGet