KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have created an EDMX using EF 5 with the Model First approach, i.e. I started with a blank designer and modeled my entities. Now I want to be able to use this model defined in the EDMX but supply runtime SQL Server connection strings without modyfing the config file. I know how to pass a connection string to the DbContext but the issue is locating the metadata for the mappings within the assembly. For example, my EDMX has this connection string in the app.config <add name="MesSystemEntities" connectionString="metadata=res://*/Data.DataContext.EntityFramework.MesSystem.csdl|res://*/Data.DataContext.EntityFramework.MesSystem.ssdl|res://*/Data.DataContext.EntityFramework.MesSystem.msl;provider=System.Data.SqlClient;provider connection string="data source=MyMachine;initial catalog=MesSystem;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> The part that I am missing is the "metadata=res://*/Data.DataContext.EntityFramework.MesSystem.csdl|res://*/Data.DataContext.EntityFramework.MesSystem.ssdl|res://*/Data.DataContext.EntityFramework.MesSystem.msl;" I want to be able to create a DbContext programmatically passing in a SQL Server connection string but "add on" the metadata portion. This is what I would like to be generated by the T4 file... public partial class MesSystemEntities : DbContext { public MesSystemEntities() : base("name=MesSystemEntities") { } public MesSystemEntities(string sqlServerConnectionString) : base(GetEfConnectionString(sqlServerConnectionString)) { } private string GetEfConnectionString(string sqlServerConnectionString) { // values added by T4 generation string format = "metadata=res://*/Data.DataContext.EntityFramework.MesSystem.csdl|res://*/Data.DataContext.EntityFramework.MesS
Tags (comma-separated)
Save Edits
Cancel