C # LINQ и добавление баз данных после развертывания - PullRequest
2 голосов
/ 31 мая 2010

Сейчас я работаю над веб-приложением, похожим на Steamworks (если вы не знаете, что это такое, это сервис для игр, в котором хранятся достижения, статистика и т. Д.).

Основная проблема, с которой я столкнулся при разработке этого приложения, - добавление новых баз данных для игр после развертывания приложения. Я использую LINQ-to-SQL для соответствующего запроса к базе данных, однако основная проблема заключается в том, что с дополнительными базами данных, требующими создания запросов после развертывания приложения, я не уверен, как структурировать запросы из разных баз данных, используя LINQ.

Нет необходимости в добавлении нового DataContext, перекомпиляции и повторном развертывании приложения. Я думал сделать это через структуру плагинов, но это не сработает, учитывая, что DataContext содержит ссылки на имена столбцов и т. Д.

У кого-нибудь есть предложения о том, как это преодолеть? Я всегда могу вернуться к традиционным SQL-запросам, но я бы предпочел этого не делать. Все имена столбцов и структура в каждой базе данных будут идентичны, главное - просто добавить новые базы данных и заставить приложение их использовать.

1 Ответ

2 голосов
/ 31 мая 2010

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

Старая версия:

public DatabaseDataContext() : base("...your connection string...", mappingSource)
{
    OnCreated();
}

Новая версия:

public DatabaseDataContext() : base(Configuration.ConnectionString, mappingSource)
{
    OnCreated();
}

Затем сохраните все ваши строки подключения во внешней таблице файлов / баз данных и выберите ту, которая вам нужна, или переберите их. :)

Надеюсь, я понял ваш вопрос.

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