我将 Visual Studio 2010 RTM 与 .NET/Entity Framework 4 RTM 与模型驱动的设计方法一起使用。当我使用 DateTimeOffset 字段创建实体时,EF 建模器尝试将 DateTimeOffset 映射到 SQL 日期时间而不是 SQL 日期时间偏移。我使用的是 SQL Server 2008 Express,因此数据库支持 datetimeoffset。
Visual Studio 出现此错误:
错误 2019:指定的成员映射无效。类型“Data.SqlStorage.MyType”中成员“Created”的类型“Edm.DateTimeOffset[Nullable=False,DefaultValue=,Precision=]”与“SqlServer.datetime[Nullable=False,DefaultValue=,Precision=] 不兼容3] 'Data.SqlStorage.Store.MyTypes 类型的成员'Created'
如果我直接在 EDMX StorageModels xml 部分中编辑类型,则会收到以下错误:
错误 40:类型 datetimeoffset 未使用命名空间或别名进行限定。只有 PrimitiveTypes 可以在没有限定的情况下使用。
为什么建模器不能正确地将其映射到 SQL datetimeoffset 类型?当我仍在使用 Visual Studio 2010 和 .NET Framework 4 的 beta 版本时,也出现了这个问题。