Entity framework 4 EF4中的Datetime2转换

Entity framework 4 EF4中的Datetime2转换,entity-framework-4,designer,edmx,datetime2,Entity Framework 4,Designer,Edmx,Datetime2,好吧,在花了无数时间在谷歌上搜索答案之后,我不得不在这件事上添加另一个问题 我有一个包含2个datetime字段的表,由EF4 EDMX designer在VS2010中生成 SQL 2008中生成的字段是datetime,而不是datetime2 查看edmx标记,字段的类型为datetime2 插入失败,存在已知的转换问题datetime2/datetime 我已手动将sql表上的字段更改为datetime2 还是不走运 我可能错过了一些东西,但我不知道到底发生了什么 我甚至尝试从设计器中重

好吧,在花了无数时间在谷歌上搜索答案之后,我不得不在这件事上添加另一个问题

我有一个包含2个datetime字段的表,由EF4 EDMX designer在VS2010中生成

SQL 2008中生成的字段是datetime,而不是datetime2

查看edmx标记,字段的类型为datetime2

插入失败,存在已知的转换问题datetime2/datetime

我已手动将sql表上的字段更改为datetime2

还是不走运

我可能错过了一些东西,但我不知道到底发生了什么

我甚至尝试从设计器中重新生成db,并从db中重新创建edmx

还是一样的问题


非常感谢您的帮助。

我曾经遇到过一个类似的问题,原因是从SQL server 2005创建模型,然后尝试使用SQL server 2008进行访问。我通过使用记事本++或等效工具编辑edmx文件来修复此问题,在edmx文件的以下第2行中将2005更改为2008:

<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">


尝试的另一件事是删除edmx中的表,然后右键单击“从数据库更新模型”,希望这次使用正确的数据类型重新添加它。

解决此问题的一个方法是确保正确初始化实体中的日期时间。 Datetime是一个结构,默认情况下将初始化为0


我确实搜索了一段时间。

在一个单独的控制台应用程序中创建数据库的edmx模型,然后尝试在那个里插入。(从数据库添加新项,实体数据模型)。如果有效-删除工作edmx中的必要表格并更新模型。这对我来说总是有用的。