Asp.net mvc 2 EF4的动态连接字符串,获取元数据路径无效
这是我的问题 我将动态连接字符串用于实体框架上下文Asp.net mvc 2 EF4的动态连接字符串,获取元数据路径无效,asp.net-mvc-2,entity-framework-4,Asp.net Mvc 2,Entity Framework 4,这是我的问题 我将动态连接字符串用于实体框架上下文 //In Web Config add key="DataSource" value="WIN-QBRH0MJL8IT\ISS" /> //In my EntityFactory.cs public static DBEntities GetEntity() { var scsb = new SqlConnectionStringBuilder(); scsb.Da
//In Web Config
add key="DataSource" value="WIN-QBRH0MJL8IT\ISS" />
//In my EntityFactory.cs
public static DBEntities GetEntity()
{
var scsb = new SqlConnectionStringBuilder();
scsb.DataSource = ConfigurationManager.AppSettings["DataSource"];
scsb.InitialCatalog = "db1";
scsb.MultipleActiveResultSets = true;
scsb.IntegratedSecurity = true;
if (HttpContext.Current.Session["DBName"] == null)
{
HttpContext.Current.Response.Redirect("/Account/Step1");
}
else
{
scsb.InitialCatalog = HttpContext.Current.Session["DBName"].ToString();
}
var builder = new EntityConnectionStringBuilder();
builder.Metadata = "metadata=~/bin/Models/DBModel.csdl|~/bin/Models/DBModel.ssdl|~/bin/Models/DBModel.msl";
builder.Provider = "System.Data.SqlClient";
builder.ProviderConnectionString = scsb.ConnectionString;
DBEntities db = new DBEntities(builder.ConnectionString);
return db;
}
我知道这条线有问题:
元数据=
“元数据=~/bin/Models/DBModel.csdl~/bin/Models/DBModel.ssdl~/bin/Models/DBModel.msl”
我检查,csdl、ssdl、msl位于/mvcinfosite/bin/Models/.csdl、.ssdl、.msl中
我的edmx的配置为:元数据工件处理:复制到输出目录
下面是全部错误 指定的元数据路径无效。有效路径必须为 现有目录,扩展名为“.csdl”的现有文件, “.ssdl”或“.msl”,或标识嵌入式资源的URI
谢谢请尝试删除
~
字符,并使用应用程序根目录的有效相对路径。我认为它无法处理ASP.NET应用程序中使用的这个特殊字符