EF Core 数据Razor 页面中未使用的批注

EF Core DataAnnotations not used in Razor page

提问人:Paul Gibson 提问时间:9/15/2023 最后编辑:Paul Gibson 更新时间:9/15/2023 访问量:18

问:

我正在我的剃须刀页面中使用。Html.LabelFor

我拥有的自动生成的 EF 实体是:

public partial class Projectinformation
{
    public int Id { get; set; }

   // [Display(Name = "Project Number")] <--- this works but
   // gets overwritten if database changes
    public string Code { get; set; }
}

如果我在此处添加 DisplayAtribute,它就可以工作。但是,我想在自动生成的代码之外使用扩展,并在 MSDN 文档中找到了此模式:

public class ProjectMetaData
{
    [Display(Name = "Project Number")] //<--- This does not work
    public string Code { get; set; }
}

[MetadataType(typeof(ProjectMetaData))]
public partial class Projectinformation
{
}

但这行不通(我得到的是标签而不是).一切都在命名空间中。链接的文档在分部类中具有元数据类,我也尝试过,但结果相同。CodeProject NumberProject.Models

这是剃须刀代码:

@Html.LabelFor(model => model.Code, new { @class = "control-label col-md-2" })

下面是生成的 html:

<label class="control-label col-md-2" for="Code">Code</label>

我错过了什么?

Razor 数据批注 EF-Core-7.0 元数据类型

评论


答: 暂无答案