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.
是否可以仅通过一个相关属性来默认多个值? 我发现逐行设置它有点乏味。
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.