如何定义模型属性的默认值?
属性DefaultValue
无效:
[DisplayName("Infos")]
[DefaultValue("Test")]
[DataType(DataType.MultilineText)]
public object infos { get; set; }
答案 0 :(得分:7)
DefaultValue不会用于您认为的目的。
来自DefaultValueAttribute MSDN page
您可以使用任何值创建DefaultValueAttribute。成员的默认值通常是其初始值。可视设计器可以使用默认值来重置成员的值。代码生成器也可以使用默认值来确定是否应该为成员生成代码。
注意:DefaultValueAttribute不会导致使用属性的值自动初始化成员。您必须在代码中设置初始值。
为什么不在模型的构造函数中设置默认值?
public class MyModel {
public MyModel() { infos = "Test"; }
[DisplayName("Infos")]
[DataType(DataType.MultilineText)]
public ojbect infos { get; set; }
}
编辑:
由于您似乎正在使用EF模型,并且您想要设置默认值。您只需使用构造函数创建一个分部类。
public partial class MyEntity {
public MyEntity() { infos = "Test"; }
}