В EF.Core Map Single Entity на две таблицы - PullRequest
1 голос
/ 03 июня 2019

У меня есть две таблицы, которые имеют абсолютно одинаковую схему.Как я могу создать 1 сущность в моем коде и отобразить эту единственную сущность в две разные таблицы?

Один из вариантов, который я попробовал, состоял в том, чтобы создать вторую сущность, которая наследуется от первой, но не имеет дополнительных определенных свойств:

public class EntityA {
    public string PropertyA { get; set; }
    public string PropertyB { get; set; }
    public string PropertyC { get; set; }
    public string PropertyD { get; set; }
    public string PropertyE { get; set; }
}

public class EntityB : EntityA {
}

В базе данных у меня будут таблицы EntityA и EntityB, причем обе имеют одинаковую схему.

Используя EF 6 или более раннюю версию, кажется, что я должен был сделать что-то вроде этого:

modelBuilder.Entity<Entity>()
            .Map(map => { map.ToTable("EntityA") })
            .Map(map => { map.ToTable("EntityB") });

Однако кажется, что метод Map не может быть найден, когда я пытаюсь сделать это в EFCore.

Какое решение лучше для этого, или я просто хотел бы иметь два объекта в C #, где они выглядят одинаково?

1 Ответ

1 голос
/ 03 июня 2019

Обе сущности являются производными от общего базового класса, который имеет все общие свойства.Таким образом, они разделяют того же класса , который будет использоваться в вашем коде после приведения , но при этом сохраняют оригинальность, необходимую в будущем.

⚠️ Недостатком является то, что вы будете вручную обновлять эти классы во время любых будущих изменений.

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