После еще нескольких исследований и проб и ошибок мне удалось это сделать.По сути, это включает в себя редактирование шаблона T4, созданного Entity Framework.
После добавления ADO.NET Entity Data Model
> EF Designer from data...
вы получите файл EDMX, и если вы развернете его в Visual Studio, появится файл .tt сто же имя, что и файл .edmx.
В этом файле я добавил под <#=codeStringGenerator.UsingDirectives(inHeader: false)#>
оператор using
для аннотаций данных:
using System.ComponentModel.DataAnnotations;
Затем, несколькими строками ниже, после объявления simpleProperties
, вforeach
Я добавил следующее:
foreach (var edmProperty in simpleProperties) // <-- Original foreach statement
{
if(edmProperty.Nullable == false)
{
#> [Required]
<#
}
if(edmProperty.MaxLength != null)
{
#> [StringLength(<#=edmProperty.MaxLength#>)]
<#
}
//Rest of the auto-generated code...
Сохранение этого файла обновит автоматически сгенерированные файлы .cs соответственно:
namespace MyNamespace
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
public partial class MyModel
{
[Required]
public int Id { get; set; }
[Required]
[StringLength(20)]
public string MyField { get; set; }
}
}