3

我正在使用 SQL Server 2005 在服务器上测试应用程序,但出现以下错误(该应用程序在 SQL Server 2008 R2 和 2012 版本中运行良好)。

没有对应于 PrimitiveType 'Time' 的概念侧类型 'Edm.Time(Nullable=True,DefaultValue=,Precision=)' 的存储类型。

可能导致错误的代码Controller是(“可能”,因为当调用此代码时,数据库尚不存在,实体框架应该生成数据库)

var tempRegistrations = db.Registrations.Where(t => t.DateExpires < DateTime.Now).ToList();

Model负责相关条目的代码是

public class Registrations
{
    public int RegistrationsId { get; set; }
    // ...
    public DateTime? DateExpires { get; set; }
}

SQL Server 2008 R2 和 2012 版本在生成的表中都有datetime数据类型(也可以为空)。我很确定 SQL Server 2005 具有datetime数据类型。那么这里有什么问题呢?

谢谢。

4

2 回答 2

1

PrimitiveType '时间'

您确定它没有尝试创建时间数据类型吗?2005没有这种类型。

我不确定这是否是您正在使用的,但看起来时间和日期时间之间存在差异。

http://msdn.microsoft.com/en-us/library/ee382832.aspx

于 2013-06-06T21:07:54.630 回答
1

似乎 SQL 2005 不支持 Time 数据类型,这是它试图将其映射到的。也许在 Edm 端更改它以使用日期时间?

http://msdn.microsoft.com/en-us/library/bb896344.aspx

于 2013-06-06T21:08:37.783 回答