Pergunta

Estou vagamente depois de um excelente série de posts por Kazi Manzur Rashid como um exercício de aprendizagem para aprender a implementar alguns novos padrões de projeto (pelo menos para mim), mas eu estou recebendo problemas desde o início.

Eu basicamente copiou seu código para as classes Database, RepositoryBase e RepositoryBaseTests, mas quando tento executar os testes, eu recebo uma mensagem de erro dizendo

Não é possível criar instância de Booking.Infrastructure.EntityFramework.Repositories.Tests.RepositoryBaseTests classe. Erro: System.Reflection.TargetInvocationException: exceção foi acionada pelo destino de uma chamada. ---> System.ArgumentException: formato da seqüência de inicialização não está de acordo com a especificação iniciando no índice 0 ..

Através do depurador eu ter verificado que a exceção é lançada sobre o construtor para a classe Database, que tem esta aparência:

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

O erro é lançado ao chamar o construtor base, e se eu tivesse codificar os valores que atualmente estou enviando em, ele ficaria assim:

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

Por que isso não funciona?

Foi útil?

Solução

"Manequim connstr" não é uma cadeia de conexão EF válido.

A válido seqüência de conexão EF parece com:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top