He estado probando un primer proyecto de código EF con SQl Compact 4.0. Cuando intento ejecutar el proyecto, aparece un error que dice "CREATE DATABASE permission denied in database 'master'.".Entity Framework que se conecta a SQLEXPRESS no SQL Compact
Busqué ayuda y en respuesta a algunos blogs intenté identificar la cadena de conexión que se utilizaba. Para mi sorpresa fue
context.Database.Connection.ConnectionString "Data Source=.\\SQLEXPRESS;Initial Catalog=Ancestors.Models.AncestorsContext;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFrameworkMUE" string
pesar de que mi archivo web.config incluye las siguientes secciones ...
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\aspnet-Ancestors-20121012114712.sdf" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
Alguien alguna idea de por qué EF está insistiendo en la creación de una conexión con SQLExpress en lugar de SQL ¿Compacto? No puedo encontrar ninguna referencia a SQLEXPRESS en ninguna parte de la solución.
La sección es la siguiente ... ADO.NET Entity Framework> –
trate de añadir un valor a su defaultConnectionFactory con su cadena de conexión, o altere su constructor predeterminado para que se dirija a su otra cadena de conexión –