我的数据库模型配置为使用 datetime2 格式,而不仅仅是日期时间。生成数据库时,所有日期列都是 datetime 而不是 datetime2。这是我的列配置代码;
Property(a => a.LastOpened)
.HasColumnOrder(++index)
.HasColumnType("datetime2")
.HasPrecision(0)
.IsRequired();
我可以发誓这在 EF 的早期版本(例如 4.1)中有效,但我不明白为什么它现在不起作用。我正在连接到 SQL Server 2008 R2...
任何帮助,将不胜感激!
谢谢你!
来自ADO.NET 团队博客 http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-released.aspx:
已知的问题
[...]
-
并非所有硬编码列数据类型都会在生成中得到尊重
数据库。如果您使用Column数据注释或HasColumnType
流畅的 API 方法对列数据类型进行硬编码(即 xml、money、
等),创建数据库时不使用该数据类型。我们将
将在 4.3.1 补丁版本中修复此问题。
Update
EF4.3.1补丁现已发布。EF4.3.1 和 EF5 Beta 1 在 NuGet 上可用 http://blogs.msdn.com/b/adonet/archive/2012/02/29/ef4-3-1-and-ef5-beta-1-available-on-nuget.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)