1

我试图在运行时在我的实体框架中设置我的连接字符串。为了做到这一点,我有以下代码:

string connectionString = "tcp:[serverName],[port];initial catalog=[databaseName];user id=[userName];password=[pwd];MultipleActiveResultSets=True;App=EntityFramework";
using (MyEntities entities = new MyEntities(connectionString))
{
  MyEntity entity = new MyEntity();
  // Set entity properties here

  entities.MyEntities.Add(entity);
  entities.SaveChanges();
}

当我到达说 的那一行时,entities.MyEntities.Add(entity)会引发异常。该异常具有以下信息:

Type: ArgumentException
Message: Keyword not supported: 'tcp:[serverName],[port];initial catalog'.

为什么我写的代码不起作用?对于我的生活,我无法弄清楚。

谢谢!

4

1 回答 1

2

您缺少“服务器”:

string connectionString = "Server=tcp:[serverName],[port];initial catalog=[databaseName];user id=[userName];password=[pwd];MultipleActiveResultSets=True;App=EntityFramework";

(假设您只是将 [serverName]、[port]、[databaseName] 替换为问题中的代码以隐藏敏感细节。显然 [serverName] 不是有效的主机名。)

我不能 100% 确定“服务器”和“初始目录”可以一起工作,因此您可能需要“数据源”而不是“服务器”,或者需要“数据库”而不是“初始目录”。

于 2013-02-01T21:19:42.273 回答