Click here to Skip to main content
14,825,162 members
Please Sign up or sign in to vote.
4.67/5 (2 votes)
Hi all
i make an entity framework for a database (sql) and another one for Oracle using third party. but to the same db schema and all my changing in the SSDL.schema and adding a new connection string in Web.config
and the entity.design.cs shared for both database (100% success when i change the connection string by hand in the code ). all what i need to change the connection in this file in the run time . is there a way to make it ?

example for my code in entity.designer.cs

public partial class entity: ObjectContext
   {
       public entity() : base(name=connetionstring, context)
       {
           this.ContextOptions.LazyLoadingEnabled = true;
           OnContextCreated();
       }

    }

i need to change the under line text in my run time
Posted
Updated 6-Dec-11 17:34pm
v3
Comments
Henry Minute 13-May-10 19:34pm
   
I added pre tags. changed nothing else.
[no name] 6-Dec-11 23:34pm
   
EDIT: added code blocks
Michel [mjbohn] 8-Dec-11 11:04am
   
That's quite an old post from 14.05.2010 :-)
How did it pop up again?

Hi,

You can get hold of the EntityConnection by ObjectContext instance.

ObjectContextInstance.Connection - and then type cast this to EntityConnection.

Then To this instance of EntityConnection, Get the storeConnection

EntityConnectionInstance.StoreConnection - this gives you the underlying connection string.

I hope this helps!.

Regards,
-Vinayak
   
There should be three constructors for the ObjectContext class

public Entities() : 
        base("name=Entities", "Entities")
{
    this.OnContextCreated();
}

public Entities(string connectionString) : 
        base(connectionString, "Entities")
{
    this.OnContextCreated();
}

public Entities(global::System.Data.EntityClient.EntityConnection connection) : 
        base(connection, "Entities")
{
    this.OnContextCreated();
}


Pass in the connection string or create an EntityConnection object

private static EntityConnection GetConnection()
{
    EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
    entityBuilder.ProviderConnectionString = ConfigurationManager.ConnectionStrings["xxx"].ConnectionString;
    entityBuilder.Provider = "System.Data.SqlClient";
    entityBuilder.Metadata = @"res://*/xxx.csdl|res://*/xxx.ssdl|res://*/xxx.msl";

    return new EntityConnection(entityBuilder.ToString());
}
   
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900