Abr/102
Problema con entity framework y Sql Azure
EDIT: Desde el 9 de Abril de 2010 SQL Azure tiene soporte para MARS, asi que deja de existir este problema. http://blogs.msdn.com/sqlazure/default.aspx
Probando Entity Framework 4.0 en un desarrollo con SQL Azure me he encontrado un problema con la conexión. Si creas el Entity Data Model generado desde una base de datos local con el Wizard de Visual Studio, por defecto asigna una cadena de conexión de este estilo:
connectionString="metadata=res://*/Model2.csdl|res://*/Model2.ssdl|res://*/Model2.msl;provider=System.Data.SqlClient;provider connection string="Data Source=DataBaseServer;Initial Catalog=DataBaseName;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"
Si una vez que hayamos hecho nuestras pruebas, queremos apuntar la cadena de conexión a nuestra BD en SQL Azure, tenemos que indicarle al atributo MultipleActiveResultSets=False, ya que no está soportado en SQL Azure y si no lo deshabilitamos, nos fallará cada intento de conexión.
La cadena de conexión debería quedar así:
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=xxxxxxxxxx.database.windows.net;Initial Catalog=DataBaseName;Persist Security Info=True;User ID=UserID;Password=Password;MultipleActiveResultSets=False"" providerName="System.Data.EntityClient"
* Si desde el Wizard de creación del Entity Data Model ya seleccionamos una conexión de SQL Azure, por defecto deja este parámetro en False.
¿Te gustó este artículo?
Deja un comentario
Aún sin trackbacks.

9:22 am on Abril 6th, 2010
Y cuales son las consecuencias de poner MultipleActiveResultSets a false?
Aquí dicen que asi EF falla:
http://weblogs.asp.net/zeeshanhirani/archive/2008/08/14/multipleactiveresultsets-in-entityframework.aspx
Saludos!
8:40 pm on Abril 19th, 2010
Gracias @Alfredo, ya está editado el post