未能加载文件或程序集 NHibernate.XmlSerializers

   在Unity3d中应用mysql的过程中出现这种错误,为解决它花了很多时间。在此发微博加深印象并给同样出现此问题的朋友们提供帮助。


对象类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class TestUser
{
    public virtual int Id { get; set; }
    public virtual string UserName { get; set; }
    public virtual string Passward { get; set; }
    public virtual int Age { get; set; }
}

映射类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FluentNHibernate.Mapping;

internal class TestUseMap : ClassMap<TestUser>
{
    public TestUseMap() //x为textUser 的对象
    {
        Id(x => x.Id); //设置id为主键
        Map(x => x.UserName).Column("username");
        Map(x => x.Passward).Column("passward");
        Map(x => x.Age).Column("age");
        Table("testuser");
    }
}
Nhibernate类

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using FluentNHibernate.Automapping;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using NHibernate;

internal class NhibernateHelper
{
    private static ISessionFactory sessionFactory = null;

    private static void InitSessionFactory()
    {
        sessionFactory =
            Fluently.Configure()
                .Database(
                    MySQLConfiguration.Standard.ConnectionString(
                        db => db.Server("localhost").Database("taidou").Username("root").Password("root")))
                .Mappings(x => x.FluentMappings.AddFromAssemblyOf<NhibernateHelper>()).BuildSessionFactory();
    }

    private static ISessionFactory SessionFactory
    {
        get
        {
            if (sessionFactory == null)
            {
                InitSessionFactory();
            }
            return sessionFactory;
        }
    }

    public static ISession OpenSession()
    {
        return SessionFactory.OpenSession();
    }
}
测试类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

internal class TestUserManager
{
    public IList<TestUser> GetAllUser()
    {
        using (var session = NhibernateHelper.OpenSession())
        {
            var useList = session.QueryOver<TestUser>();
            return useList.List();
        }
    }


    private static void Main(string[] args)
    {
        TestUserManager testUserManager = new TestUserManager();
        IList<TestUser> testUsersList = testUserManager.GetAllUser();

        foreach (TestUser tu in testUsersList)
        {
            Console.WriteLine(tu.UserName);
        }
        Console.ReadKey();
    }
}


报错截图

出现错误的原因:缺少mysql.data.dll 文件



文件下载地址 

http://pan.baidu.com/s/1gdyMBsR

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值