【问题标题】:Entity - Map types实体 - 地图类型
【发布时间】:2014-05-22 22:38:46
【问题描述】:

我有一个这样的实体:

public class MyEntity
{
  public DateTime Time{get;set;}
}

现在,我们的 db 指南之一告诉我们应该将日期存储为 int 以节省一些空间。

我目前是这样修复的:

public class MyEntity
{
    [NotMapped]
    public DateTime Time { get; set; }

    [Column("Time")]
    public int TimeAsInt
    {
        get { return Time.AsInt(); }//Extension methods on int/datetime
        set { Time = value.AsDateTime(); }
    }
}

有没有办法做到这一点而不必弄乱我的 POCO 对象?我希望不必更改模型即可使用实体,只需添加一些额外的实体映射即可。

【问题讨论】:

    标签: c# entity-framework poco entity-framework-6


    【解决方案1】:

    我认为您将无法添加该字段,但我建议您将 Poco 更改为类似的内容,因此您只需在需要时进行演员表。

    public class MyEntity
    {
       [NotMapped]
       public DateTime Time { 
         get{
          return Time.AsInt()  
         }
    
         set{
          TimeAsInt = value.AsInt();
         }
    
        [Column("Time")]
        public int TimeAsInt{get;set;}
    }
    

    【讨论】:

    • 在我们的代码中,大部分时间我们将使用日期时间,并且只使用 timeasint 来访问数据库。因此,在 timeasint 中进行映射对我来说更有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    相关资源
    最近更新 更多