ArgumentException при создании экземпляра объекта, который наследуется от ObjectContext - PullRequest
0 голосов
/ 18 сентября 2009

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 18 сентября 2009

"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""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...