#entity-framework
#entity-framework
Вопрос:
Есть ли способ изменить имя таблицы программно в entity Framework? Я получил 2 параметра времени выполнения, определяющих таблицу. Все таблицы имеют одинаковую структуру, единственное отличие — это имя. Я знаю, что могу добавить два параметра в виде столбцов, но в этом случае лучше использовать разные таблицы.
Заранее спасибо за любую помощь!
Комментарии:
1. Вам нужно иметь возможность изменять его на лету или до того, как EF будет инициализирован в первый раз? Я не верю, что первый вариант возможен, но второй может быть.
2. Нам это нужно на лету. Конечный пользователь заполняет параметры. Проблема в том, что таблица станет слишком большой, если мы добавим 2 столбца для параметров. Параметры выполняют логическое разделение.
Ответ №1:
Если вы используете Code First (или перепроектируете контекст Code First для существующей базы данных), вы можете использовать Table
атрибут:
[Table("tablename")
public class MyEntity
{
//stuff
}
Это изменит имя таблицы на то, что вы указали в строке.
Кроме того, вы можете использовать Fluent Configuration API:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<MyEntity>()
.ToTable("tablename");
}
Комментарии:
1. Я знаю, но параметры заполняются во время выполнения.