2010-05-31 1 views
2

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

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

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

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

ответ

2

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

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

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

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

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

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

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

+0

Благодарим за быстрый ответ, я отдам его. Кажется, это то, что я ищу. –

Смежные вопросы