ste*_*776 4 c# asp.net-mvc entity-framework entity-framework-4.1 appharbor
在本地开发时,我有一个设置为MultipleActiveResultSets的连接字符串设置为TRUE.但是,当我部署我的应用程序并注入sequelizer connectionString时,会遗漏MultipleActiveResultSets.反正有没有启用MultipleActiveResultSets或以其他方式更新连接字符串?
我顺便使用Entity Framework 4.1.
更新:现在可以使用Sequelizer管理面板为注入的连接字符串启用多个活动结果集(MARS).这是推荐的方法,因为web.config不再需要修改,这会导致AppDomain在启动期间重新加载
您可以从注入应用程序的URI构造connectionstring web.config.这个过程在这里描述,但我也包括下面的代码片段:
var uriString = ConfigurationManager.AppSettings["SQLSERVER_URI"];
var uri = new Uri(uriString);
var connectionString = new SqlConnectionStringBuilder
{
DataSource = uri.Host,
InitialCatalog = uri.AbsolutePath.Trim('/'),
UserID = uri.UserInfo.Split(':').First(),
Password = uri.UserInfo.Split(':').Last(),
MultipleActiveResultSets = true,
}.ConnectionString;
Run Code Online (Sandbox Code Playgroud)
请注意MultipleActiveResultSets = true.
如果你还需要构建一个非Code-First连接字符串,那么你需要使用EntityConnectionStringBuilder其余的,例如:
var builder = new EntityConnectionStringBuilder();
builder.ProviderConnectionString = connectionString;
builder.Metadata = "somemetadata";
builder.Provider = "System.Data.SqlClient";
Run Code Online (Sandbox Code Playgroud)
(也在AppHarbor支持论坛上回答)
| 归档时间: |
|
| 查看次数: |
4543 次 |
| 最近记录: |