数据注释未示出MVC 4为局部实体类(Data Annotations not showing fo

2019-08-07 10:58发布

我也第一次看到几十如何添加元数据注释的解释,通过部分类,通过实体框架生成的类, 数据库

谁能告诉我,为什么这些新的显示值不显示在我的意见? 这两者都是相同的命名空间我的实体框架生成的类的一部分。

[MetadataType(typeof(xRef_CodesMetadata))]
        public partial class xRef_Codes
        {
        }

public class xRef_CodesMetadata
    {
        public int CodeID { get; set; }
        public int CTB_ID { get; set; }

        [Required(ErrorMessage = "Please type a name")]
        [Display(Name = "Code Name")]
        [Column(TypeName = "Code Name")]
        public string CodeName { get; set; }

        [Required(ErrorMessage = "Please type a Description")]
        [Display(Name = "Description")]
        [Column(TypeName = "Description")]
        public string Description { get; set; }     
    }

查看片段:

<th>
    @Html.DisplayNameFor(model => model.OfCodeID)
</th>
<th>
    @Html.DisplayNameFor(model => model.CodeName)
</th>
<th>
    @Html.DisplayNameFor(model => model.Description)
</th>   

Answer 1:

这已经解决了! 我已经看过了,为什么这个实体框架“数据库优先”部分类不工作字面上30也许40教程。 然后我发现这个职位给了以下建议:

很抱歉,这是这么晚了,但我只是解决了类似的情况我自己。 我相信行

[MetadataType(typeof运算(CompanyMD))]

属于由EF生成的部分类,即使如果当你改变模型也将被删除。 所以,你的EF-生成的文件应该是这样的:

要看到帖子的休息去吧此链接... MVC 4 EF5数据库首先设置的默认值在分部类



Answer 2:

这可能会或可能不会帮助别人,但下面这个教程后( https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/enhancing-data-validation ) 。

我也有我的元数据,在我看来不是反映了类似的问题。 该解决方案对我来说是具有相同的命名空间我的.edmx文件我的元数据类,这条线是关键“......,每相匹配的名称和命名空间为自动生成的类。”



Answer 3:

您必须声明xRef_CodesMetadata类还为partial如下所示。

public partial class xRef_CodesMetadata
        {
            public int CodeID { get; set; }
            public int CTB_ID { get; set; }

            [Required(ErrorMessage = "Please type a name")]
            [Display(Name = "Code Name")]
            [Column(TypeName = "Code Name")]
            public string CodeName { get; set; }

            [Required(ErrorMessage = "Please type a Description")]
            [Display(Name = "Description")]
            [Column(TypeName = "Description")]
            public string Description { get; set; }     
        }

可能对您有用从现有数据库生成EF代码优先模型类 ,并增加对数据和模型的第一实体注解

我希望这会帮助你。



文章来源: Data Annotations not showing for partial Entity classes in MVC 4