2012-02-27 101 views
7

我有我的数据库模型配置为使用datetime2格式,而不是只是日期时间。生成数据库时,所有日期列都是datetime而不是datetime2。这是我的列配置代​​码;实体框架4.3代码优先不能创建Datetime2?

Property(a => a.LastOpened) 
    .HasColumnOrder(++index) 
    .HasColumnType("datetime2") 
    .HasPrecision(0) 
    .IsRequired(); 

我可以发誓,这在EF的早期版本如4.1中工作,但我不明白为什么它现在不工作。我连接到SQL Server 2008 R2 ...

任何帮助,将不胜感激!

谢谢!

回答

8

ADO.NET team blog

已知问题

[...]

  • 并非所有的硬编码列的数据类型所产生 数据库感到非常荣幸。如果使用Column数据注释或HasColumnType Fluent API方法对列数据类型(即xml,money, 等)进行硬编码,则在创建数据库时不使用此数据类型。我们将 在4.3.1修补程序版本中包含此问题的修复程序。

更新

的EF4.3.1补丁现已推出。 EF4.3.1 and EF5 Beta 1 Available on NuGet