实体框架 - 使用数据注释的属性默认值
我有一个这样的模型,
public class MyModel
{
public int MyModelId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
}
我想知道是否有一种方法,使用数据注释来设置属性的值 - 例如标题 - 默认为其他属性值,即名称。像这样的东西:
if(MyModel.Title == "") MyModel.Title = MyModel.Name;
I have a model like this
public class MyModel
{
public int MyModelId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
}
I was wondering if there's a way, using Data Annotations, to set the value of a property - say Title - default to other property value, i.e. Name. Something like:
if(MyModel.Title == "") MyModel.Title = MyModel.Name;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您想要默认值,请在实体默认(无参数)构造函数中设置它。对于您可以直接执行的操作,无需进行数据注释。
If you want default value set it in entity default (parameterless) constructor. There is no need to have data annotation for something which you can do directly.
您可以通过在 edmx 文件的 SSDL 中编辑该属性来告诉实体框架数据库将处理该属性。
最初
我们已将其更改为< /b>
通过设置storeGeneratePattern="Compulated" 我们可以告诉 EF 该属性值将由 DB 插入。
对于编辑 SSDL
2.Ctrl+F 属性名称,然后更改该属性
我不知道是否有办法处理数据注释。
you can tell entity framework that database will take care of that property by editing that property in SSDL of the edmx file.
Initially
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" />
we have change it to
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" StoreGeneratedPattern="Computed" />
by setting storeGeneratedPattern="Computed" we can tell to EF that the property value will be inserted by DB.
For Editing SSDL
2.Ctrl+F name of the property and just change that property
I don't know is there a way to do with data annotations.
一般情况下,不可能将属性参数设置为函数,您会收到错误:
“属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式”
It's impossible to set attribute argument as a function in general, you will get an error:
"An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type"