我的问题很简单:为什么我必须在我的 ASP.NET 应用程序上引用 MySql.Data.Entity 才能在类库中使用 MySql Entity Framework 5?
我解释一下:我在 2 层中构建了一个示例应用程序:Asp.Net Web App 和一个类库(都在 VB.NET 中)
我在类库中引用了 MySql.Data 和 MySql.Data.Entity,我在其中创建了 Code First 模型和 DbContext。
我在 Asp.Net App 上引用了 MySql.Web,并将 DbProviders 放在 Web Config 和连接字符串上。
当我尝试运行一个简单的查询时,它失败并在 MySql.Data.MySqlClient.MySqlClientFactory.get_MySqlDbProviderServicesInstance() 上出现通用 NullPointerException
但是,如果我在 Web 应用程序上安装 MySql.Data.Entity,那么一切都会如愿以偿。
在我看来,如果我将数据访问层与表示分离,为什么我必须引用仅在数据层中使用的 dll?这与 CLR 如何加载程序集有任何关系吗?还是我做错了什么?