我尝试使用一些实体框架和一些旧的DataSet创建应用程序,但我只使用实体的动态连接字符串,并且需要在运行时删除元数据以创建到我的数据库的连接字符串。任何人都知道从Entity Framework Connection中删除所有元数据的方法
我有这个
metadata=res://*/Models.SiteModel.csdl|res://*/Models.SiteModel.ssdl|res://*/Models.SiteModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(local);Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=P@ssw0rd;MultipleActiveResultSets=True"
只需要这个:
Data Source=(local);Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=P@ssw0rd;MultipleActiveResultSets=True
答案 0 :(得分:9)
您可以使用EntityConnectionStringBuilder
类:
string connectionString = "metadata=res://*/Models.SiteModel.csdl|res://*/Models.SiteModel.ssdl|res://*/Models.SiteModel.msl;provider=System.Data.SqlClient;provider connection string=\"Data Source=(local);Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=P@ssw0rd;MultipleActiveResultSets=True\"";
EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder(connectionString);
builder.Metadata = null;
connectionString = builder.ConnectionString;
答案 1 :(得分:5)
使用的更好的属性是builder.ProviderConnectionString
,而不是从构建器中剥离元数据以获取build.ConnectiongString
。