Как найти универсальные типы сущностей и применить их в моделировании сущностей? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть интерфейс, который представляет представления базы данных.

public interface IView { }

И я хочу использовать modelbilder для установки HasNoKey() метода.

 public class DataContext : DbContext
 {       
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<IView>(buildAction =>
        {
            buildAction.HasNoKey();
        });


        base.OnModelCreating(modelBuilder);
    }
 }

Но это вызывает исключение. Могу ли я реализовать это с помощью отражения или есть какое-то решение в ядре платформы сущностей?

1 Ответ

0 голосов
/ 06 ноября 2019

Вы можете перебрать все типы моделей в OnModelCreating. Как это:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        foreach (var t in modelBuilder.Model.GetEntityTypes().Where( t => typeof(IView).IsAssignableFrom(t.ClrType)))
        {
            t.IsKeyless = true;
        }
        base.OnModelCreating(modelBuilder);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...