Мы сталкиваемся с некоторыми проблемами с развернутой версией нашего приложения в облаке.
Наше приложение представляет собой проект ASP.NET MVC 3 с платформой ADO.NET Entity Framework.
В соответствии с блоками msdn нам нужно добавить параметр "MultipleActiveResultSets = True (для Entity Framework с SQL azure)) в нашей строке подключения к базе данных, которую мы по праву сделали.
При выполнении запроса к базе данных из нашего приложения мы получаем следующее исключение: "Существует уже открытый DataReader, связанный с этой Командой, который должен быть закрыт первым"., который, как я полагаю, очень связан с свойством MultipleActiveResultSets = True.
Приложение отлично работает в локальной среде с нашей локально развернутой базой данных, а также с использованием базы данных SQL azure (в локальной среде).
Но при развертывании нашего облачного приложения мы получаем вышеупомянутую ошибку. Кажется, что свойство MultipleActiveResultSets = True не считывается из строки подключения.
Строка подключения, которую я использую, выглядит следующим образом:
<connectionStrings>
<add name="#DBInstanceName#" connectionString="Data Source=tcp:#server#.database.windows.net,1433;Initial Catalog=#DBName#;User ID="UserName#@#server#;Password="#password#";MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Я могу подключиться к базе данных SQL Azure, используя приведенную выше строку соединения из локально развернутого приложения без каких-либо исключений. Но одно и то же приложение при развертывании в облаке с использованием одной и той же строки соединения дает мне вышеупомянутую ошибку.
Не могли бы вы помочь нам установить то же самое?