HibernateException:无法从NHibernate.Driver.MySqlDataDriver创建驱动程序

时间:2017-12-04 10:36:40

标签: c# mysql fluent-nhibernate asp.net-core-2.0

我想在ASP.NET Core中使用FluentNHibernate创建与MySQL服务器的连接,但我得到了一个例外。

我的流利配置:

var config = Fluently.Configure()
                     .Database(MySQLConfiguration
                         .Standard
                         .ConnectionString(cs => cs
                             .Server(dbServer)
                             .Database(dbName)
                             .Username(dbUsername)
                             .Password(dbPassword)))
                     .Mappings(x =>x.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
                     .BuildSessionFactory();

例外:

FluentNHibernate.Cfg.FluentConfigurationException: "An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail."

InnerExceptions:

  

HibernateException:无法从NHibernate.Driver.MySqlDataDriver,NHibernate,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序。

     

TargetInvocationException:调用目标抛出了异常。

     

TypeLoadException:无法加载类型' System.Data.Common.DbProviderFactories'来自assembly&System; System.Data,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。

项目配置:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentNHibernate" Version="2.0.3" />
    <PackageReference Include="Iesi.Collections" Version="4.0.2" />
    <PackageReference Include="log4net" Version="2.0.8" />
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="MySql.Data" Version="6.10.4" />
    <PackageReference Include="MySql.Data.Entity" Version="6.10.4" />
    <PackageReference Include="MySql.Web" Version="6.10.4" />
    <PackageReference Include="NHibernate" Version="5.0.3" />
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.4.0" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
</Project>

链接到 deps.json http://pastebin.com/pn67pa6y

我该怎么办?

1 个答案:

答案 0 :(得分:1)

FluentNHibernate不支持.NET Core(issue),因为NHibernate没有(PR)。

NHibernate PR定于v5.1,截止日期为2017年12月15日。撰写本文时。

mstancombe 对于.NET Core有一个fork,但您必须自己构建它。