2011-09-06 19 views
5

He creado un proyecto de repositorio genérico utilizando Entity Framework 4.1 y funciona muy bien con mis proyectos cuando se agrega como un proyecto existente pero no funciona ellos cuando se hace referencia como dll.entidad marco 4.1 código primero permiso CREATE DATABASE denegado en la base de datos 'master'

me sale este error

CREAR BASE DE DATOS permiso negado en la base de datos 'maestro'.

pero he añadido app.config archivo y establecer la cadena de conexión relevante para mi base de datos SQL Server 2005 (he utilizado DbContext como el tipo de mi contexto)

por favor me ayude.

Aquí es mi cadena de conexión:

<configuration> 
    <connectionStrings> 
     <add name="TasksEntities" 
      connectionString="server=(local); database=Tasks; trusted_connection=false; User=sa; Password=****; Persist Security Info=True" 
      providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
</configuration> 

Respuesta

0

Parece que sus credenciales en la cadena de conexión debe tener permiso para crear la base de datos en el servidor. Inicie sesión en su servidor de base de datos y verifique si su cuenta de usuario tiene los permisos correctos. Este será un http://www.sqlservercurry.com/2008/04/resolving-create-database-permission.html

+0

funciona bien cuando su proyecto nos agrega a otra y la base de datos relevante con la identificación de usuario de la cadena de conexión mencionada se crea sin error – bobby

7

Me encontré con esto yo mismo. El nombre de la cadena de conexión debe coincidir exactamente con el nombre de clase de su subclase DbContext. Si no lo hace, EF no encontrará la cadena de conexión e intentará recurrir a otra cosa (¿SQL incrustado?) Que no funciona en mi máquina (tengo instalado SQL Server completo).

+3

Eso es solo si no especifica un nombre de cadena de conexión en el constructor de su contexto de esta manera: 'public MyDbContext(): base (" name = Blah ")' – joshcomley

+0

Impresionante. Ponme en el camino correcto. –

2

Debe verificar dónde se configura su conexión si está trabajando con más de un proyecto, por ejemplo. Si su proyecto de inicio en su solución tiene una conexión configurada y en Package Manager Console apunta hacia el proyecto con EF Migrations configurada también (en "Proyecto predeterminado").

Puede ejecutar el comando en el Gestor de paquetes actualización Base de datos de -Verbose lo que es el proyecto y el origen de la migración de inicio o especifique poniendo los parámetros en el comando:

Actualización de Base de datos de -SourceMigration MvProject.Data - StartUpProjectName MyProject.Web -Verbose

Cuestiones relacionadas