创建从ObjectContext继承的对象的实例时ArgumentException

时间:2009-09-18 00:19:47

标签: entity-framework inheritance constructor objectcontext

我正在松散地跟随excellent series of blog posts by Kazi Manzur Rashid作为学习如何实现一些新的(至少对我来说)设计模式的学习练习,但我从一开始就遇到了麻烦。

我基本上已经复制了DatabaseRepositoryBaseRepositoryBaseTests类的代码,但是当我尝试运行测试时,收到错误消息

  

无法创建类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 :(得分:0)

“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""