过去几天我一直试图让这项工作取得成功。
这是我到目前为止所做的。
string providerName = "System.Data.SqlClient";
string serverName = serverIPAddress;
string databaseName = myDBName;
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.PersistSecurityInfo = true;
sqlBuilder.MultipleActiveResultSets = true;
sqlBuilder.UserID = "sa";
sqlBuilder.Password = saPassword;
string providerString = sqlBuilder.ToString();
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Provider = providerName;
entityBuilder.ProviderConnectionString = providerString;
entityBuilder.Metadata = "res://*/TUModel.myModel.csdl|res://*/TUModel.myModel.ssdl|res://*/TUModel.myModel.msl";
myEntities ctx = new myEntities(entityBuilder.ConnectionString);
实体类中的构造函数看起来像
public myEntities(string connectionString) : base("name=myEntities")
{
}
当我跑步时没有错误。但是,如果我删除了“我的朋友”。来自app.config
的连接字符串,然后抛出异常。如果我保持原样,那么它将忽略代码中的连接字符串并使用app.config
中的连接字符串。
非常感谢任何帮助。
答案 0 :(得分:2)
您的上下文构造函数未传递您的连接字符串,而是传递固定值name=myEntities
。将其更改为:
public myEntities(string connectionString) : base(connectionString)
{
}