实体框架-使用数据注释的属性的默认值
本文关键字:注释 属性 默认值 数据 框架 实体 | 更新日期: 2023-09-27 17:58:32
我有一个类似的模型
public class MyModel
{
public int MyModelId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
}
我想知道是否有一种方法,使用数据注释,将一个属性的值(比如Title)设置为其他属性值(即Name)的默认值。类似于:
if(MyModel.Title == "") MyModel.Title = MyModel.Name;
如果您想要默认值,请在实体默认(无参数)构造函数中设置它。对于可以直接执行的操作,不需要有数据注释。
您可以通过在edmx文件的SSDL中编辑该属性来告诉实体框架数据库将处理该属性。
最初
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" />
我们已经把它改成
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" StoreGeneratedPattern="Computed" />
通过设置storeGeneratedPattern="Computed",我们可以告诉EF属性值将由DB插入。
用于编辑SSDL
- 右键单击edmx文件,使用XML(文本)编辑器打开
2.Ctrl+F属性名称,然后只更改属性
我不知道有没有一种方法可以处理数据注释。
通常不可能将属性参数设置为函数,您会得到一个错误:
"属性参数必须是属性参数类型"的常量表达式、typeof表达式或数组创建表达式