【问题标题】:EF and datetime in SQL Server 2005SQL Server 2005 中的 EF 和日期时间
【发布时间】:2013-06-06 20:56:05
【问题描述】:

我正在使用 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 数据类型。那么这里有什么问题呢?

谢谢。

【问题讨论】:

    标签: sql-server asp.net-mvc entity-framework ef-code-first


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      PrimitiveType '时间'

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-19
        • 2011-11-17
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 2012-05-08
        • 2013-10-31
        • 1970-01-01
        相关资源
        最近更新 更多