【问题标题】:Entity Framework code first with TimeStamp type实体框架代码首先使用 TimeStamp 类型
【发布时间】:2012-09-26 23:28:29
【问题描述】:

我正在使用 SQL Server 2008 R2 和 Entity Framework 5.0。生成数据库时,我无法添加 TimeStamp 类型的属性而不会出现以下错误: 没有与概念侧类型对应的商店类型

原始类型的'Edm.Time(Nullable=True,DefaultValue=,Precision=)' '时间'。

我已将实体配置设置为类型时间或时间戳,但没有成功

Property(x => x.RestBetweenSet).HasColumnType("timestamp");

当我进入 Sql Server Management Studio 并编辑表格时,我可以设置一列时间戳。

我需要做什么才能让 Entity Framework 代码首先能够生成此列?

谢谢

【问题讨论】:

    标签: .net sql-server-2008 entity-framework asp.net-4.0 entity-framework-5


    【解决方案1】:

    你应该在你的第一类代码中声明你的时间戳属性如下:

    [Timestamp] 
    public Byte[] MyTimestamp { get; set; }
    

    【讨论】:

    • 嗨,问题是我们不能再使用所有时间戳方法,如果它是一个字节。
    【解决方案2】:

    目前,我映射到 INT64 并忽略时间戳。就像在这个post 中一样。

    如果它们是更好的解决方案,请随时添加。我还不接受我的回答。

    【讨论】:

    • 所以您想存储 Timespan 而不是 Timestamp?
    【解决方案3】:

    我不确定我是否理解你的问题,但这就是我使用code first 方法和entity framework 生成timestamp 字段的方式

    [Required, DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTime CreatedAt { get; set; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2013-02-03
      • 1970-01-01
      相关资源
      最近更新 更多