我正在尝试编写 ASP.NET Web窗体应用程序,即处理 ADO.NET实体数据模型中的数据。当我添加模型时直接到项目,一切正常。
但是,当我尝试将模型存储在类库中并从我的WebSite访问数据时,我得到 EntityException:基础提供程序在打开时失败
这是我的类库代码:
namespace Data
{
public class Class1
{
ShoppingEntities shop = new ShoppingEntities();
public List<Customer> Test()
{
var query = (from s in shop.Customer
select s).ToList<Customer>(); // here I get an exception
return query;
}
}
}
这就是我试图从Default.aspx.cs访问它的方式:
protected void Page_Load(object sender, EventArgs e)
{
Class1 cl = new Class1();
cl.Test();
}
我猜这笔交易是在连接字符串中。我已经将EF生成的连接字符串添加到Web.Config中,但它没有帮助。它看起来像这样:
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
<add name="ShoppingEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.;AttachDbFilename=|DataDirectory|\Shopping.mdf;Integrated Security=true;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
你能帮帮我吗?我做错了什么?