【问题标题】:How do I add a fixed value property to my model?如何向我的模型添加固定值属性?
【发布时间】:2013-04-17 02:34:38
【问题描述】:

假设我有一个任务模型:

public class Task()
{
   public int Id {get; set;}
   public int Title {get;set;}
}

现在我想添加一个 'repeat' 属性。

该属性只能包含 3 个值之一:

  1. 每天
  2. 每周
  3. 每月

我是否创建一个 RepeatOption() 模型并将其外键添加到 Task() 模型中——或者是否有更优化的解决方案,也许使用枚举? (这里只是猜测)

【问题讨论】:

    标签: c# asp.net-mvc entity-framework database-design asp.net-mvc-4


    【解决方案1】:

    假设这是硬编码的东西,不太可能改变,我只会使用带有这三个值的枚举类型。

    【讨论】:

    • 这样的枚举属性在 Task() 模型中的外观如何(使用实体框架)
    • @user2312633:Entity Framework 现在支持枚举值,因此您实际上可以告诉 Entity Framework 该属性应该是您的enum 类型,它会负责将其与底层之间的转换SQL 整数值。
    【解决方案2】:
    public enum RepeatOption
    {
        Daily,
        Weekly,
        Monthly
    }
    
    public class Task()
    {
       public int Id {get; set;}
       public int Title {get;set;}
       public RepeatOption Repeat {get;set;}
    }
    

    在 DB 字段中,Repeat 应存储为 int,除非您对此有特定要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2021-10-18
      • 2015-12-01
      • 2020-11-23
      • 2020-03-16
      • 2019-09-21
      • 1970-01-01
      相关资源
      最近更新 更多