Да, довольно забавно, когда вы читаете аннотации, но вы не можете их использовать, потому что они перезаписаны.
Это то, что я нашел, чтобы помочь мне
http://www.ozkary.com/2015/01/add-data-annotations-to-entity.html
также это
https://docs.microsoft.com/en-us/previous-versions/aspnet/ee256141(v=vs.98)
Я не претендую на то, что понимаю это, но вот руководство к многоточию.
Пример сгенерированного класса EF выглядит следующим образом:
public partial class Employee
{
public int Emp_ID { get; set; }
public string Emp_Name { get; set; }
public Nullable<System.DateTime> Commencement_Date { get; set; }
}
Определенно не редактируйте это.
Вместо этого вы создаете отдельный файл класса (я назвал мой metadata.cs и поместил его в папку Models) со следующим:
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
namespace MyProject.Models
{
[MetadataType(typeof(EmployeeMD))] // new name for your metadata class
public partial class Employee // same name as your EF generated class
{
// Nothing in here
}
internal sealed class EmployeeMD // your metadata class
{
[Required]
[StringLength(50, MinimumLength = 2, ErrorMessage = "Name required")]
public string Emp_Name { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> Commencement_Date { get; set; }
}
}