【发布时间】:2017-03-29 01:33:35
【问题描述】:
我正在尝试设置一个现有项目以使用实体框架。我以前从未使用过它,想在个人项目中学习它。
我有一个包含许多项目的解决方案,所有项目都相关。登录是我想做查询的地方。模型是模型所在的位置。 Main 是程序开始的地方。
我已将 EntityFramework 安装到 MySolution.Model。
这是模型的 app.config:
<connectionStrings>
<add name="ALDatabaseContext" providerName="MySql.Data.MySqlClient"
connectionString="server=localhost;port=3306;database=aldatabase;uid=root;password=root"/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
我的上下文很简单
public class ALDatabaseContext : DbContext
{
public virtual DbSet<User> Users { get; set; }
}
但是当我从 Login 调用上下文时,我得到一个异常:
附加信息:未找到具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。
我错过了什么?
【问题讨论】:
-
你使用实体框架向导了吗?
-
Mm nop,我已经使用 Nuget 安装了实体框架,并按照 mysql 页面的说明进行了配置。
-
您是否添加了对
MySql.Data.Entity.EF6的引用?确保复制到bin文件夹。 -
我已经尝试全部添加,还在登录项目上安装 EF 和 Mysql.Data 没有结果。我可以对模型项目进行查询,工作,但是当我想在另一个项目中使用它时,它会抛出我在帖子中提到的异常。我不知道我必须在 Login 项目中做什么才能让它工作..
标签: c# mysql entity-framework