如何使用HTTPContext.Current.Session []。ToString将连接字符串传递给DB Context

时间:2014-02-18 16:11:58

标签: c# entity-framework session asp.net-mvc-5 dbcontext

我正在尝试将连接字符串传递给我的数据库上下文,并且当我将静态变量传递给它时它会起作用。但我的要求是在会话变量中传递连接字符串。我怎样才能做到这一点。

以下是代码和我使用的不同选项

数据库上下文

public EntEventServices_2_0Entities(string strConnectionString)
        : base(strConnectionString)
    {
    }

启动db对象,因为它使用了静态变量:

private EntEventServices_2_0Entities db = new EntEventServices_2_0Entities(ConnectionManager.strConnectionString);

但是现在因为我已经在会话变量中保存了连接字符串,所以我正在尝试这个:

private EntEventServices_2_0Entities db = new EntEventServices_2_0Entities(Session["ConnectionString"].ToString());

和此:

private EntEventServices_2_0Entities db = new EntEventServices_2_0Entities(HttpContext.Current.Session["ConnectionString"].ToString());

但每次我都会收到以下错误:

非静态字段,方法或属性'System.Web.Mvc.Controller.HttpContext.get'

需要对象引用

关于我的应用程序的一些细节:我正在使用EF6开发MVC5应用程序,并且要求将一个应用程序连接到类似模型的多个数据库。

如果需要更多详细信息,请与我们联系。

0 个答案:

没有答案