实体框架 - 使用数据注释的属性默认值

发布于 2024-11-14 12:21:00 字数 370 浏览 5 评论 0原文

我有一个这样的模型,

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁月无声 2024-11-21 12:21:00

如果您想要默认值,请在实体默认(无参数)构造函数中设置它。对于您可以直接执行的操作,无需进行数据注释。

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.

夏了南城 2024-11-21 12:21:00

您可以通过在 edmx 文件的 SSDL 中编辑该属性来告诉实体框架数据库将处理该属性。

最初

我们已将其更改为< /b>

通过设置storeGeneratePattern="Compulated" 我们可以告诉 EF 该属性值将由 DB 插入。

对于编辑 SSDL

  1. 右键单击​​ edmx 文件,使用 XML(文本)编辑器打开。

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

  1. Right click the edmx file, open with XML(text) Editor.

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.

简单气质女生网名 2024-11-21 12:21:00

一般情况下,不可能将属性参数设置为函数,您会收到错误:

“属性参数必须是属性参数类型的常量表达式、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"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文