Я работаю над приложением, которое будет использовать одну и ту же схему базы данных для нескольких баз данных. По этой причине я создал базу данных под названием MyTemplate
. Когда новый пользователь будет создан, у них будет свой собственный экземпляр базы данных. Таким образом, будет создана база данных, называемая MyTemplate_[UserName]
. Когда пользователь входит в систему, мне нужно указать их запросы в свою базу данных. По этой причине я знаю, что мне нужно установить строку подключения во время выполнения. Моя проблема заключается в том, что я также хочу использовать Entity Framework.
В настоящее время я создал новый .edmx, используя MyTemplate в качестве источника. Я думал, что смогу обновить код и установить там строку подключения. К сожалению, я не могу понять, как его установить. Конструктор для TemplateEntities не имеет перегрузки, которая позволяет мне передать строку соединения. Я заметил, что TemplateEntities, полученный из DbContext, я не думаю, что это будет проблемой.
string connectionString = GetUsersConnectionString();
using (TemplateEntities entities = new TemplateEntities())
{
TemplateEntity entity = new TemplateEntity();
// Save to the database
entities.TemplateEntity.Add(entity);
entities.SaveChanges();
}
Я неправильно создаю .edmx
? Или я чего-то не хватает? Все, что я вижу в Google, представляет собой перегрузку, которая должна допускать передачу строки соединения. Однако у меня нет этой перегрузки.