Entity Framework 多个属性的默认值

Entity Framework default value for multiple properties

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

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
}

这里 [Authorize] 影响整个 class,就像我将它放在每个方法之前一样,现在这也不是最好的,因为我有多个默认值,但它只有 1 行,而不是每一行都有锅炉。希望我现在更清楚了。

有什么想法吗?

public class FooBarCounter{
    private const int DEFAULTVALUE = 0;

    [DefaultValue(DEFAULTVALUE)]
    public int FooCounter1 { get; private set; }
    [DefaultValue(DEFAULTVALUE)]
    public int FooCounter2 { get; private set; }
    // and so on ...

}

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

然而,任何 Entity Framework 实现都不太可能查找并应用它 - it's not part of the EF spec.