У меня есть Book
и Author
сущность. Только Book
сущность определяется как DbSet
в DbContext
:
public DbSet<Book> Books { get; set; }
Класс Author
зависит от класса Book
и явно не указан в DbContext
. Поэтому на уровне базы данных я получаю таблицу Books (ударение на множественное число) для сущности Book
, но только Author вместо Authors для сущности Author
. Теперь есть как минимум 3 способа указать имя таблицы для сущности Author
, являющейся Авторами:
- Классовая аннотация
[Table("XYZ")]
- Использовать ModelBuilder
- Добавить
Author
класс явно как DbSet
к DbContext
Каковы плюсы и минусы этих разных способов достижения Автора в качестве имени таблицы? И особенно: если я перечисляю таблицы явно в DbContext, просто для того, чтобы приумножить их имена, есть ли из-за этого потеря производительности? (давайте подумаем о гораздо большем количестве таблиц, чем просто одна сущность Author
этого примера, которая будет добавлена в DbContext)