一尘不染

将数据注释添加到由实体框架生成的类

c#

我有以下由实体框架生成的类:

public partial class ItemRequest
{
    public int RequestId { get; set; }
    //...

我想将此设为必填字段

[Required]
public int RequestId { get;set; }

但是,由于这是生成的代码,因此将被清除。我无法想象创建局部类的方法,因为该属性是由生成的局部类定义的。如何以安全的方式定义约束?


阅读 213

收藏
2020-05-19

共1个答案

一尘不染

生成的类ItemRequest将始终是一个partial类。这样,您就可以编写第二个局部类,并在其中标记必要的数据注释。在您的情况下,部分类ItemRequest如下所示:

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

//make sure the namespace is equal to the other partial class ItemRequest
namespace MvcApplication1.Models 
{
    [MetadataType(typeof(ItemRequestMetaData))]
    public partial class ItemRequest
    {
    }

    public class ItemRequestMetaData
    {
        [Required]
        public int RequestId {get;set;}

        //...
    }
}
2020-05-19