所以我们将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升级相关..但升级之前不是问题而且这段代码没有改变。