我已经意识到smalldatetime sql server数据类型已经映射到我的实体项目中的日期时间。我都可以。当实体保存更改时,它实际上使用datetime2数据类型(目前我们的生产数据库不支持)。现在,这是一个问题。实体框架日期时间数据类型映射
看着实体设计器代码,我看到属性使用VB的日期对象,虽然属性窗口显示它为日期时间。
我不想更改实体代码,因为我不想从数据库更新来覆盖我的更改,从而导致代码维护混乱。
datetime2从哪里来的?有任何想法吗?
在此先感谢您的帮助, 奥利
我已经意识到smalldatetime sql server数据类型已经映射到我的实体项目中的日期时间。我都可以。当实体保存更改时,它实际上使用datetime2数据类型(目前我们的生产数据库不支持)。现在,这是一个问题。实体框架日期时间数据类型映射
看着实体设计器代码,我看到属性使用VB的日期对象,虽然属性窗口显示它为日期时间。
我不想更改实体代码,因为我不想从数据库更新来覆盖我的更改,从而导致代码维护混乱。
datetime2从哪里来的?有任何想法吗?
在此先感谢您的帮助, 奥利
好乡亲,即固定它。
因为实体正在从sql 2008数据库更新引用,所以ProviderManifestToken设置为2008.在xml编辑器中打开edmx文件并将值更改为2005修复了我们的问题。
什么是SSDL说财产是什么?
打开EDMX文件最大使用XML编辑器(一个在VS不错)
现在看在StorageModels元素有问题的列。
SSDL部分中属性的“类型”是EntityFramework认为数据库列的类型。我怀疑它会说DateTime2。你应该能够将它改回到像DateTime这样的东西。
希望这有助于
亚历
嗨亚历克斯, 感谢您的答复。 显示的类型是DateTime。生成的SQL使用datetime2。我们的开发数据库(SQL 2008)支持它,但我们的产品尚未升级。它将在不久的将来,但我们希望手头上的生产代码(因此,问题)。 无论如何,我们试着改变清单文件来使用sql server 2005版本映射,而不是2008年。到目前为止没有成功。 – Orry 2009-06-23 15:48:57
谢谢!这是一个阶级痛苦的屁股找到解决方案。 – 2009-09-17 16:03:09