实体框架多个属性的默认值

时间:2015-10-09 10:54:30

标签: c# entity-framework attributes default-value

是否可以仅通过一个相关属性来默认多个值? 我发现逐行设置它有点乏味。

public class FooBarCounter{
        [Key]
        public int id{ get; set; }
        [DefaultValue(0)]
        public int FooCounter1 { get; private set; }
        [DefaultValue(0)]
        public int FooCounter2 { get; private set; }

        [DefaultValue(5)]
        public int BarCounter1 { get; private set; }
        [DefaultValue(5)]
        public int BarCounter2 { get; private set; }        
    }

编辑:

所以[Attrib]在第二行,我宁愿喜欢这样的东西:

[Authorize]
public class MyFullyAuthorizedClass : Controller {
   //props, methoods etcetc
}

这里[授权]会影响整个班级,就好像我会把它放在每个家伙之前,现在这也不是最好的,因为我有多个默认值,但它只有1行,而不是每个secont行中的锅炉。希望我现在更清楚了。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

DefaultValue属性为valid on all targets - 因此您可以根据需要在类级别设置它,并编写查找并对其作出反应的代码。

然而,任何实体框架实现都不太可能寻找并应用它 - it's not part of the EF spec

答案 1 :(得分:-1)

ORDER BY GREATEST(COALESCE(reg_date, '2000-01-01'),
                  COALESCE(paymentcancel_date, '2000-01-01'),
                  COALESCE(payment_date, '2000-01-01')
                 ) desc