Преобразовать строку подключения ADO.Net EF в строку подключения облака SQL Azure? - PullRequest
1 голос
/ 09 октября 2009

Сценарий

Я написал приложение Silverlight 3, в котором используется база данных SQL Server. Я перемещаю приложение в облако (платформа Azure). Для этого мне пришлось настроить базу данных на SQL Azure. Я использую ADO.Net Entity Framework для моделирования своей базы данных. У меня запущено приложение в облаке, но я не могу подключить его к базе данных. Ниже приведена исходная строка подключения localhost, за которой следует строка подключения SQL Azure, которая не работает. Само приложение работает нормально, но не удается при попытке получить данные.

Исходная строка подключения Localhost

     <add name="InmZenEntities" 
    connectionString="metadata=res://*/InmZenModel.csdl|res://*/InmZenModel.ssdl|res://*/InmZenModel.msl;
    provider=System.Data.SqlClient;
    provider connection string=&quot;
    Data Source=localhost;
    Initial Catalog=InmarsatZenith;
    Integrated Security=True;
    MultipleActiveResultSets=True&quot;" 
    providerName="System.Data.EntityClient" />

Преобразованная строка подключения SQL Azure

<add name="InmZenEntities" connectionString="metadata=res://*/InmZenModel.csdl|res://*/InmZenModel.ssdl|res://*/InmZenModel.msl;
provider=System.Data.SqlClient;
provider connection string=&quot;
Server=tcp:MYSERVER.ctp.database.windows.net;
Database=InmarsatZenith;
UserID=MYUSERID;Password=MYPASSWORD;
Trusted_Connection=False;
MultipleActiveResultSets=True&quot;" 
providerName="System.Data.EntityClient" />

Вопрос

Кто-нибудь знает, правильна ли эта строка подключения для SQL Azure? Помощь очень ценится.

1 Ответ

1 голос
/ 12 ноября 2009

Просто удалите бит ;MultipleActiveResultSets=True и все готово.

Для вашего удобства я уже сделал это для вас. Просто скопируйте и вставьте.

<add name="InmZenEntities" connectionString="metadata=res://*/InmZenModel.csdl|res://*/InmZenModel.ssdl|res://*/InmZenModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:MYSERVER.ctp.database.windows.net;Database=InmarsatZenith;UserID=MYUSERID;Password=MYPASSWORD;Trusted_Connection=False&quot;" providerName="System.Data.EntityClient" />
...