我有一个动态连接字符串构建器,因为我需要为每个客户使用不同的数据库。
当我测试这个时,我想模拟动态连接字符串构建器以返回特定的客户字符串对象。我遇到的问题是C#将连接字符串错误地保持为常量。
private const string connectionString =
@"metadata=res://Data/CustomerModel.csdl|res://Data/CustomerModel.ssdl|
res://Data/CustomerModel.msl;provider=System.Data.SqlClient;
provider connection string=/""Data Source=MyDB;Initial Catalog=MyCustomer;
User ID=SomeUser;Password=SomePassword"
目前的错误是:
An exception of type 'System.ArgumentException' occurred in EntityFramework.dll but
was not handled in user code
Additional information: Keyword not supported: 'initial catalog'.
我知道C#是如何存储连接字符串的,我不知道如何修复它。 我不想使用我拥有的连接字符串构建器服务,因为那时我的测试将不仅仅依赖于这个“单元”。我想伪造连接字符串构建器以返回该连接字符串。
任何建议?
答案 0 :(得分:1)
一个选项是使用EntityConnectionStringBuilder
并手动构建它。
http://msdn.microsoft.com/en-us/library/vstudio/bb738533(v=vs.100).aspx