正则表达式用于删除元数据

时间:2011-05-17 11:58:27

标签: .net entity connection-string

我尝试使用一些实体框架和一些旧的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

2 个答案:

答案 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