Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework - layered design - Where to put connectionstring?

I am using a layered architecture with the Entity Framework as my datalayer with a bunch of repositories on top which contain the Linq-To-Entities queries. The data layer is one project, next to that I have a Services layer and the interface, which is a website.

I want my website to be responsible of specifying the connectionstring for my entity model. How do I do this?

I am using a singleton method to get to my entity repository, which is located inside the datalayer.

Thanks

like image 654
Peter Avatar asked May 13 '09 18:05

Peter


1 Answers

You can copy the connection string created in the App.Config of the DAL assembly into the connectionStrings section of the web.config.

You can keep the connection string in the assembly dll but you shouldn't deploy it with the website.

You will need to copy the entire connection string. It should look like this:

<add name="DataEntities" connectionString="metadata=res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxx;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

It should include all the information on where the mapping files exist.

like image 139
TGnat Avatar answered Sep 21 '22 06:09

TGnat