Пользовательский атрибут DataAnnotations для Fluent-API - PullRequest
0 голосов
/ 17 марта 2020

Я портирую проект с EF6 на EF7 Core и преобразую все классы с DataAnnotationtions в FluentAPI.

В проекте я широко использую пользовательские атрибуты DataAnnotatiotions. Мне нужно преобразовать:

    [Required, MaxLength(Consts.DbLength.OriginName)]
    [FrontendEditable]
    public string OriginName { get; set; }

, где [FrontendEditable] что-то вроде:

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Enum, AllowMultiple = false, Inherited = false)]
public class FrontendEditableAttribute : Attribute
{
    public FrontendEditableAttribute()
    {
    }

Я хотел бы преобразовать это в Fluent API в modelBuilder, например:

            modelBuilder.Entity<Origin>(e =>
        {
            e.Property(oN => oN.OriginName).IsRequired();
            e.Property(oN => oN.OriginName).HasColumnType("NVARCHAR");
            e.Property(oN => oN.OriginName).HasMaxLength(50);
        });

Это для того, чтобы только некоторые из полей db редактировались из FrontEnd, а некоторые были заблокированы.

Любое предложение будет оценено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...