这可能是一个非常简单的问题。但仍然在问,因为谷歌搜索后一段时间没有发现。所以我觉得最好在这里提问。当我定义到本地ms sql服务器的新连接时,我才能看到连接字符串。
稍后如何查看连接字符串。我知道它是在app.config的web.config中定义的。但是如果我想稍后编辑它,我认为编辑这种向导很容易/安全。提前致谢!
答案 0 :(得分:0)
尝试打开服务器资源管理器,右键单击您的连接。在那里你可以配置它。之后,您仍然需要在App.config中替换相应的部分(可通过服务器资源管理器中的连接属性访问)。
或者使用构造函数调用base(connectionstring)构造函数扩展ef模型的partial类,并使用EntityConnectionStringBuilder类以编程方式组装connectionstring。那你甚至不需要App.Config / Web.Config条目。
示例:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Apps4KidsWeb.Persistence
{
public partial class Apps4KidsEntities : DbContext
{
public Apps4KidsEntities(string connectionString):base(connectionString)
{
}
}
}
组装连接的部分
using System;
using System.Collections.Generic;
using System.Data.Entity.Core.EntityClient;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Apps4KidsWeb.Persistence
{
/// <summary>
/// The class connection
/// </summary>
public class Connection
{
/// <summary>
/// The connection string
/// </summary>
private static string connectionString = null;
/// <summary>
/// Gets the context.
/// </summary>
/// <returns></returns>
public static Apps4KidsEntities GetContext()
{
Apps4KidsEntities result;
if (connectionString != null)
{
return new Apps4KidsEntities(connectionString);
}
EntityConnectionStringBuilder ecsb = new EntityConnectionStringBuilder();
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder();
ecsb.Metadata = @"res://*/DataModel.csdl|
res://*/DataModel.ssdl|
res://*/DataModel.msl";
ecsb.Provider = "System.Data.SqlClient";
sqlcsb.InitialCatalog = "Apps4Kids";
sqlcsb.DataSource = "localhost";
sqlcsb.UserID = "sa";
sqlcsb.Password = "123user!";
ecsb.ProviderConnectionString = sqlcsb.ToString();
result = new Apps4KidsEntities(ecsb.ConnectionString);
return result;
}
}
}