我正在尝试在运行时在我的Entity Framework中设置我的连接字符串。为了做到这一点,我有以下代码:
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'.
为什么我写的代码不起作用?对于我的生活,我无法理解。
谢谢!
答案 0 :(得分:2)
你错过了“服务器”:
string connectionString = "Server=tcp:[serverName],[port];initial catalog=[databaseName];user id=[userName];password=[pwd];MultipleActiveResultSets=True;App=EntityFramework";
(假设您只是将[serverName],[port],[databaseName]替换为问题中的代码以隐藏敏感详细信息。显然[serverName]不是有效的主机名。)
我不是100%确定“服务器”和“初始目录”一起工作,因此您可能需要“数据源”而不是“服务器”或“数据库”而不是“初始目录”。