实体框架4.3代码首先不能创建Datetime2?

Luk*_*asz 7 entity-framework entity-framework-4.3

我将我的数据库模型配置为使用datetime2格式而不仅仅是datetime.生成数据库时,所有日期列都是datetime而不是datetime2.这是我的列配置代​​码;

Property(a => a.LastOpened)
    .HasColumnOrder(++index)
    .HasColumnType("datetime2")
    .HasPrecision(0)
    .IsRequired();
Run Code Online (Sandbox Code Playgroud)

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

任何帮助,将不胜感激!

谢谢!

Die*_*res 8

来自ADO.NET团队博客:

已知的问题

[...]

  • 并非所有硬编码列数据类型都在生成的数据库中受到尊重.如果使用Column数据批注或HasColumnType Fluent API方法对列数据类型(即xml,money等)进行硬编码,则在创建数据库时不使用此数据类型.我们将在4.3.1补丁版本中包含针对此问题的修复程序.

更新

EF4.3.1补丁现已推出.EF4.3.1和EF5 Beta 1在NuGet上可用