2013-03-31 5 views
18

Mam następujący ciąg połączenia w moim kodu:Jak włączyć MultipleActiveResultSets

SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["RaiseFantasyLeagueConnectionString"].ConnectionString); 

Moja webconfig na ten wygląda następująco:

<connectionStrings> 
<add name="RaiseFantasyLeagueConnectionString" connectionString="Data Source=MATT-PC\SQLEXPRESS;Initial Catalog=Raise;Integrated Security=True" providerName="System.Data.SqlClient"/> 

Czy ktoś mógłby mi powiedzieć, gdzie mogę włączyć MultipleActiveResultSets dla mojego połączenia?

Odpowiedz

34

To jest bardzo proste, wystarczy dodać

MultipleActiveResultSets=true; 

więc zmienić w Twojej web.config, ciąg połączenia w ten sposób:

connectionString="Data Source=MATT-PC\SQLEXPRESS;" + 
       "Initial Catalog=Raise;Integrated Security=True;" + 
       "MultipleActiveResultSets=true;" 
4

Spróbuj kod

<connectionStrings> 
<add name="RaiseFantasyLeagueConnectionString" connectionString="Data Source=MATT-PC\SQLEXPRESS;Initial Catalog=Raise;Integrated Security=True ;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient";/> 

Należy odnieść ten numer Msdn article

0
public static class ConfigurationService 
    { 
     static public string ConnectionString 
     { 

      get 
      { 

       try 
       {    
        // Specify the provider name, server and database. 
        string providerName = "System.Data.SqlClient"; 
        string serverName = @"192.168.1.106\SQLEXPRESS"; 
        string databaseName = "MyDatabaseName"; 

        // Initialize the connection string builder for the 
        // underlying provider. 
        var sqlBuilder = new SqlConnectionStringBuilder(); 

        // Set the properties for the data source. 
        sqlBuilder.DataSource = serverName; 
        sqlBuilder.InitialCatalog = databaseName; 
        sqlBuilder.IntegratedSecurity = false; 
        sqlBuilder.UserID = "Bob"; 
        sqlBuilder.Password = "Bob1234"; 
        sqlBuilder.MultipleActiveResultSets = true; 
        sqlBuilder.ApplicationName = "EntityFramework"; 

        // Build the SqlConnection connection string. 
        string providerString = sqlBuilder.ToString(); 

        // Initialize the EntityConnectionStringBuilder. 
        var entityBuilder = new EntityConnectionStringBuilder(); 

        //Set the provider name. 
        entityBuilder.Provider = providerName; 

        // Set the provider-specific connection string. 
        entityBuilder.ProviderConnectionString = providerString;     

        // Set the Metadata location. 
        entityBuilder.Metadata = @"res://*/Models.MyDatabaseNameModel.csdl|res://*/Models.MyDatabaseNameModel.ssdl|res://*/Models.MyDatabaseNameModel.msl"; 

        var result = entityBuilder.ToString(); 
        return result; 
       } 
       catch (Exception) 
       { 

       } 

       return string.Empty; 
      } 

     } 
    } 

Uwaga modele w Models.MyDatabaseNameModel to nazwa folderu z projektu VS.