Pregunta

Estoy siguiendo libremente un excelente serie de publicaciones de blog de Kazi Manzur Rashid como un ejercicio de aprendizaje para aprender cómo implementar algunos patrones de diseño nuevos (al menos para mí), pero tengo problemas desde el principio.

Básicamente he copiado su código para las clases Database , RepositoryBase y RepositoryBaseTests , pero cuando intento ejecutar las pruebas, yo recibe un mensaje de error que dice

  

No se puede crear una instancia de la clase Booking.Infrastructure.EntityFramework.Repositories.Tests.RepositoryBaseTests. Error: System.Reflection.TargetInvocationException: el destino de una invocación ha lanzado una excepción. --- > System.ArgumentException: el formato de la cadena de inicialización no se ajusta a la especificación que comienza en el índice 0 ..

A través del depurador, he verificado que la excepción se produce en el constructor de la clase Database , que se ve así:

public Database(
    IConfigurationManager configurationManager, 
    string connectionstringName)
: base(
    GetConnectionString(configurationManager, connectionstringName), 
    "BookingEntities")
{ // Nothing happens here }

El error se produce al llamar al constructor base , y si codificara los valores que estoy enviando actualmente, se vería así:

: base("Dummy connStr", "BookingEntities")

¿Por qué no funciona esto?

¿Fue útil?

Solución

" Dummy connStr " no es una cadena de conexión EF válida.

Una cadena de conexión EF válida se ve así:

connectionString="metadata=res://*/Data.Model.csdl|res://*/Data.Model.ssdl|res://*/Data.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=SERVERNAME\SQLDEV2008;Initial Catalog=DBName;Integrated Security=True;MultipleActiveResultSets=True""
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top