我正在使用Entity Framework开发一个asp.net mvc Web应用程序。应该将相同的应用程序部署在不同客户端的Intranet模型中。
我的应用程序从客户端数据库获取数据,这些数据具有完全相同的结构但每个客户端具有不同的数据,这就是为什么我不得不在运行时修改连接字符串以匹配客户端环境(数据库名称和服务器)名称)。除此之外,我的Web应用程序还使用Windows身份验证连接到数据库。
<connectionStrings>
<add name="LK_Entities" connectionString="metadata=res://*/DAL.Model1.csdl|res://*/DAL.Model1.ssdl|res://*/DAL.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=LKSERVER\SQLSERVER2005;initial catalog=LK_2014;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我想知道的是,如果用户必须在应用程序运行后键入服务器名称和数据库名称,如何在运行时修改连接字符串?并且,如何集成Windows身份验证以连接到数据库?
答案 0 :(得分:0)
所以这个问题分为两部分。到目前为止的注释回答了第一部分(在运行时动态传递DbContext
的连接字符串)。
public TheDbContext() : base("the connection string goes here"){}
对于第二部分,您可能需要在<authentication mode="Windows">
中添加web.config
。此外,在IIS中启用Windows身份验证并禁用匿名身份验证。