ArgumentException при создании экземпляра объекта, который наследуется от ObjectContext

StackOverflow https://stackoverflow.com/questions/1442016

Вопрос

Я свободно слежу за отличная серия постов в блоге Кази Манзур Рашид в качестве учебного упражнения для обучения тому, как реализовать некоторые новые (по крайней мере для меня) шаблоны проектирования, но у меня возникают проблемы с самого начала.

Я в основном скопировал его код для классов База данных , RepositoryBase и RepositoryBaseTests , но когда я пытаюсь запустить тесты, я получить сообщение об ошибке

  

Невозможно создать экземпляр класса Booking.Infrastructure.EntityFramework.Repositories.Tests.RepositoryBaseTests. Ошибка: System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова. --- & GT; System.ArgumentException: формат строки инициализации не соответствует спецификации, начиная с индекса 0 ..

С помощью отладчика я убедился, что исключение выдается в конструкторе для класса Database , который выглядит следующим образом:

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

Ошибка возникает при вызове конструктора base , и если бы я жестко закодировал значения, которые я сейчас отправляю, это выглядело бы так:

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

Почему это не работает?

Это было полезно?

Решение

" Dummy connStr " не является допустимой строкой соединения EF.

Допустимая строка подключения EF выглядит следующим образом:

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""
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top