I am having a problem when changing the model entities connection string,
when a user first logs in the KurtDBEntities conection string is being chosen properly
but when logging in as an admin if (daRoles.IsUserInRole(User, 1)) or any other instance it is giving me this error:
System.InvalidOperationException was unhandled by user code
Message=No modifications to connection are permitted after the metadata has been registered either by opening a connection or constructing the connection with a MetadataWorkspace.
Source=System.Data.Entity
StackTrace:
at System.Data.EntityClient.EntityConnection.ValidateChangesPermitted()
at System.Data.EntityClient.EntityConnection.set_ConnectionString(String value)
at DataLayer.ConnectionClass..ctor(String User) in Documents\Visual Studio 2010\Projects\DataLayer\ConnectionClass.cs:line 32
at BusinessLayer.BLBase..ctor(String user) in Documents\Visual Studio 2010\Projects\BusinessLayer\BLBase.cs:line 54
at BusinessLayer.Roles..ctor(String userLogged) in Visual Studio 2010\Projects\BusinessLayer\Roles.cs:line 12
at PresentationLayer.UserControls.Menu.Page_Load(Object sender, EventArgs e) in C:\Users\Documents\Visual Studio 2010\Projects\PresentationLayer\UserControls\Menu.ascx.cs:line 23
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
and:
public ConnectionClass(string User)
{
this.Entities = new KurtDBEntities();
DataLayer.DARoles daRoles = new DARoles(this.Entities);
if (User == "Login")
{
this.Entities.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["KurtDBEntities"].ConnectionString.ToString();
}
else
{
//can also use entity connection string builder
if (User != "")
{
if (daRoles.IsUserInRole(User, 1))
{
this.Entities.Connection.ConnectionString = @"Data Source=KURT-PC\SQLEXPRESS;Initial Catalog=KurtDB;User ID=Admin;Password=123456";
}
else if (daRoles.IsUserInRole(User, 2))
{
this.Entities.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["BasicUser"].ConnectionString.ToString();
}
}
else
{
this.Entities.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["KurtDBEntities"].ConnectionString.ToString();
}
}
//this.Entities.Connection.ConnectionString = conn;
}
}
Any Help Please?