【发布时间】:2011-05-19 23:02:30
【问题描述】:
所以我们将 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 年升级无关。但在升级之前这不是问题,并且此代码没有更改。
【问题讨论】:
标签: .net sql-server entity-framework sql-server-2008 linq-to-sql