Entity framework & Connection string at runtime | Issue in implemention Transactionhttp://forums.asp.net/t/1773446.aspx/1?Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionSat, 05 May 2012 12:21:14 -040017734464849390http://forums.asp.net/p/1773446/4849390.aspx/1?Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionEntity framework & Connection string at runtime | Issue in implemention Transaction <p>Hi All,</p> <p>I have a problem with entity framework4.1. In which i need to define my connection string at runtime and my business logic call will travel to various sub class to perform insert operation(for insert we are using SP as function import)</p> <p></p> <p>Exception occurs only when i implemented transaction.</p> <p><em>Exception Detail :&nbsp; The underlying provider failed on Open.</em></p> <p><em>Inner Exception : {&quot;Attempted to access an unloaded appdomain. (Exception from HRESULT: 0x80131014)&quot;}</em><strong><br> </strong></p> <p><strong>Can some one help me to solve this problem(implementing transaction separate).</strong></p> <p>Eg </p> <pre style="font-family:Consolas; font-size:13px; color:black; background:none repeat scroll 0% 0% white"><span style="color:blue">class</span>&nbsp;<span style="color:#2b91af">Person</span> { <span style="color:blue"> public</span>&nbsp;<span style="color:blue">string</span>&nbsp;Name{&nbsp;<span style="color:blue">get</span>;&nbsp;<span style="color:blue">set</span>;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:green">//&nbsp;Other&nbsp;fields</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:blue">public</span>&nbsp;<span style="color:#2b91af">List</span>&lt;<span style="color:#2b91af">Address</span>&gt;&nbsp;AllAddress&nbsp;{&nbsp;<span style="color:blue">get</span>;&nbsp;<span style="color:blue">set</span>;&nbsp;}<br>}<br> <br><span style="color:blue">class</span>&nbsp;<span style="color:#2b91af">Address</span> { <span style="color:green">//&nbsp;Address&nbsp;fields</span> } <span style="color:blue">public</span>&nbsp;<span style="color:blue">class</span>&nbsp;<span style="color:#2b91af">PersonBL</span> { <span style="color:blue"> public</span>&nbsp;<span style="color:blue">bool</span>&nbsp;addPerson(<span style="color:#2b91af">Person</span>&nbsp;person)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af">EntityConnection</span>&nbsp;objEntityCon&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">EntityConnection</span>(<span style="color:#a31515">&quot;my&nbsp;connection&nbsp;string&quot;</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">using</span>&nbsp;(DBEntity&nbsp;dbContext&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;DBEntity(objEntityCon))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">using</span>&nbsp;(<span style="color:#2b91af">TransactionScope</span>&nbsp;transaction&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">TransactionScope</span>())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af">ObjectParameter</span>&nbsp;id&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">ObjectParameter</span>(<span style="color:#a31515">&quot;personID&quot;</span>,&nbsp;<span style="color:blue">typeof</span>(<span style="color:#2b91af">Int32</span>));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green">//&nbsp;Calling&nbsp;my&nbsp;Function&nbsp;import&nbsp;to&nbsp;insert&nbsp;person(except&nbsp;address&nbsp;information)<br>&nbsp; // record&nbsp;which&nbsp;return&nbsp;PersonID</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbContext.AddPerson(person.Name,&nbsp;id); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">int</span>&nbsp;personID&nbsp;=&nbsp;<span style="color:#2b91af">Convert</span>.ToInt32(id.Value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">if</span>&nbsp;(personID&nbsp;&gt;&nbsp;0&nbsp;&amp;&amp;&nbsp;AddAllAddress(person.AllAddress,&nbsp;personID))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.Complete();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">public</span>&nbsp;<span style="color:blue">bool</span>&nbsp;AddAllAddress(<span style="color:#2b91af">List</span>&lt;<span style="color:#2b91af">Address</span>&gt;&nbsp;addresses,&nbsp;<span style="color:blue">int</span>&nbsp;personID)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">bool</span>&nbsp;result&nbsp;=&nbsp;<span style="color:blue">true</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af">AddressBL</span>&nbsp;addressBL&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">AddressBL</span>();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">foreach</span>(<span style="color:#2b91af">Address</span>&nbsp;address&nbsp;<span style="color:blue">in</span>&nbsp;addresses)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">if</span>&nbsp;(!addressBL.addAddress(address)) <em>// Error occurs at this place.</em><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;<span style="color:blue">false</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">return</span>&nbsp;result;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;}<br> <br><span style="color:blue">public</span>&nbsp;<span style="color:blue">class</span>&nbsp;<span style="color:#2b91af">AddressBL</span> { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">public</span>&nbsp;<span style="color:blue">bool</span>&nbsp;addAddress(<span style="color:#2b91af">Address</span>&nbsp;address)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">bool</span>&nbsp;result&nbsp;=&nbsp;<span style="color:blue">true</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af">EntityConnection</span>&nbsp;objEntityCon&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">EntityConnection</span>(<span style="color:#a31515">&quot;my&nbsp;connection&nbsp;string&quot;</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">using</span>&nbsp;(DBEntity&nbsp;dbContext&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;DBEntity(objEntityCon))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green">//&nbsp;Call&nbsp;imported&nbsp;SP(function&nbsp;import)</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">return</span>&nbsp;result&nbsp;=&nbsp;<span style="color:blue">true</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</pre> <p></p> <p></p> <p></p> 2012-02-24T13:33:43-05:004850969http://forums.asp.net/p/1773446/4850969.aspx/1?Re+Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionRe: Entity framework & Connection string at runtime | Issue in implemention Transaction <p>Hello</p> <p>Suspecting that there's something wrong with your&nbsp;machine.configSo plz copy a new one from other's PC with the same version of VS to yours</p> <p>Reguards</p> 2012-02-26T00:08:58-05:004851925http://forums.asp.net/p/1773446/4851925.aspx/1?Re+Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionRe: Entity framework & Connection string at runtime | Issue in implemention Transaction <p>I tried this code in another machine still no change in error, So i think this error may not related to my machine.config.</p> <p>Please any other idea or suggestion.</p> 2012-02-27T04:35:04-05:004904927http://forums.asp.net/p/1773446/4904927.aspx/1?Re+Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionRe: Entity framework & Connection string at runtime | Issue in implemention Transaction <p>Hi Rakbul , If you are still facing this issue , I will recomend you open microsoft support Incident for this issue.</p> 2012-03-28T21:28:11-04:004966949http://forums.asp.net/p/1773446/4966949.aspx/1?Re+Entity+framework+Connection+string+at+runtime+Issue+in+implemention+TransactionRe: Entity framework & Connection string at runtime | Issue in implemention Transaction <p>Try following code.</p> <p></p> <pre style="font-family:consolas"><span style="color:blue">private</span>&nbsp;<span style="color:#2b91af">CRMFMEntities</span>&nbsp;_DBContext&nbsp;=&nbsp;<span style="color:blue">null</span>;</pre> <pre style="font-family:consolas"><span style="color:#2b91af">EntityConnection</span>&nbsp;entityConnection&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">EntityConnection</span>();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green">//entityConnection.ConnectionString&nbsp;=&nbsp;dal.GetConnection().ConnectionString;</span><br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue">string</span>&nbsp;connectionString&nbsp;= &quot;Your SQL Connection String&quot;;<br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Data.SqlClient.<span style="color:#2b91af">SqlConnectionStringBuilder</span>&nbsp;scsb&nbsp;= <span style="color:blue"><br> new</span>&nbsp;System.Data.SqlClient.<span style="color:#2b91af">SqlConnectionStringBuilder</span>(connectionString);<br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af">EntityConnectionStringBuilder</span>&nbsp;ecb&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">EntityConnectionStringBuilder</span>();</pre> <pre style="font-family:consolas"><span style="color:green">//Change the below line and add the Accutal name of the database.</span><br><br>ecb.Metadata&nbsp;=&nbsp;<span style="color:#a31515">&quot;res://*/App_Code.Database.csdl|res://*/App_Code.<span style="color:#a31515">Database.</span>ssdl|res://*/App_Code.<span style="color:#a31515">Database.</span>msl&quot;</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecb.Provider&nbsp;=&nbsp;<span style="color:#a31515">&quot;System.Data.SqlClient&quot;</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecb.ProviderConnectionString&nbsp;=&nbsp;scsb.ConnectionString;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_DBContext&nbsp;=&nbsp;<span style="color:blue">new</span>&nbsp;<span style="color:#2b91af">CRMFMEntities</span>(ecb.ConnectionString);</pre> 2012-05-05T12:21:14-04:00