【发布时间】:2017-08-14 23:41:29
【问题描述】:
我正在用实体框架在cmd中做一个应用程序来学习,我正在使用MySql数据库,数据库已经创建并连接到Visual Studio,但是我无法打开应用程序,这现在很简单,在下面应用代码和错误:
RdiContext.cs
using rdi_musica.core;
using System.Data.Entity;
namespace rdi_musica.infra
{
public class RdiContext : DbContext
{
public DbSet<Usuario> Usuarios { get; set; }
public DbSet<Genero> Generos { get; set; }
public DbSet<Banda> Bandas { get; set; }
public DbSet<Musica> Musicas { get; set; }
}
}
BandaRepository.cs
using rdi_musica.core;
using System.Linq;
namespace rdi_musica.infra
{
public class BandaRepository
{
RdiContext context = new RdiContext();
public Banda getBandaById(int Id)
{
var b = context.Bandas.Where(x => x.Id == Id).Select(x => x).FirstOrDefault();
return b;
}
}
}
App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="Default" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=3306;database=redeinova_musica;uid=root;password=root"/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<!--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" /-->
<!--provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider-->
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
</configuration>
还有错误:
错误转录:
The Entity Framework provider type
'MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6'
registered in the application config file for the ADO.NET provider with
invariant name 'MySql.Data.MySqlClient' could not be loaded.
项目结构:
Ps:是的,我安装了 MySql 驱动并添加了引用
【问题讨论】:
标签: c# mysql entity-framework