【问题标题】:HibernateException: Could not create the driver from NHibernate.Driver.MySqlDataDriverHibernateException:无法从 NHibernate.Driver.MySqlDataDriver 创建驱动程序
【发布时间】:2018-05-17 19:15:02
【问题描述】:

我想在 ASP.NET Core 中使用 FluentNHibernate 创建与 MySQL 服务器的连接,但出现异常。

我的 Fluent 配置:

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."

内部异常:

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

TargetInvocationException:调用的目标已抛出异常。

TypeLoadException:无法从程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”加载类型“System.Data.Common.DbProviderFactories”。

项目配置:

<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.jsonhttp://pastebin.com/pn67pa6y

我该怎么办?

【问题讨论】:

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


    【解决方案1】:

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

    NHibernate PR 计划在 v5.1 提交,截止日期为 2017 年 12 月 15 日,截至本文撰写之时。

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

    【讨论】:

      猜你喜欢
      • 2011-09-02
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多