在ASP.NET中切换动态数据库

时间:2013-07-12 13:44:24

标签: c# asp.net-mvc-4

我必须创建一个基于ASP.NET MVC 4的多语言应用程序。 不幸的是,一个数据库适合一种语言。结构和术语与正在改变的内容相反。 应用程序是否有可能根据语言的选择更改数据库?

1 个答案:

答案 0 :(得分:2)

web.config 添加不同的连接字符串 - 每种支持的语言都有一个:

<connectionStrings>
  <clear/>
  <add name="northwind-en" connectionString="server=(local);database=NorthwindEnglish;Integrated Security=SSPI"/>
  <add name="northwind-fr" connectionString="server=(local);database=NorthwindFrench;Integrated Security=SSPI"/>
</connectionStrings>

然后根据所需语言选择连接字符串,如果没有选定语言的特定数据库,则选择默认语言:

var availableLocales = ConfigurationManager.ConnectionStrings
                                .Cast<ConnectionStringSettings>()
                                .Select(cs => cs.Name)
                                .Select(n => n.Substring(n.IndexOf('-') + 1));