实体框架:生成的SQL - 找不到数据类型datetime2

时间:2011-05-19 23:02:30

标签: .net sql-server entity-framework sql-server-2008 linq-to-sql

所以我们将dev sql server迁移到了2008.

我们的UAT sql server仍然是2005年。

由于其他一些原因,我不得不重新生成我的实体框架模型,在将我的工作部署到UAT后,我注意到了这个错误:

找不到数据类型datetime2

我分析了数据库,并注意到Entity Framework将输入参数生成为datetime2!

N'@p__linq__0 datetime2(7)',@p__linq__0='9999-12-31 00:00:00'

这在dev中执行正常,因为datetime2是那里的类型。但在2005年部署到环境时失败。

这是某种已知的类型吗?为什么实体框架不使用常规日期时间,如何使其跨环境兼容?

也许这不是2008升级相关..但升级之前不是问题而且这段代码没有改变。

1 个答案:

答案 0 :(得分:3)

看看this 'bug' on MS Connect - 解决方法似乎提供了相当简单的解决方法。

同样涵盖here