NHibernate 映射不起作用

标签 nhibernate

我创建了控制台应用程序、数据库、模型、XML 文件,然后编写了这段代码

using System;
using System.Reflection;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Driver;

namespace NHibernateDemo
{
internal class Program
{
    static void Main(string[] args)
    {
        try
        {
            var cfg = new Configuration();
            cfg.DataBaseIntegration(x =>
                {
                    x.ConnectionString = "Server=.; Database=NHibernateDemo; Integrated Security = SSPI;";
                    x.Driver<SqlClientDriver>();
                    x.Dialect<MsSql2008Dialect>();
                });
            cfg.AddAssembly(Assembly.GetExecutingAssembly());
            var sessionFactory = cfg.BuildSessionFactory();
            using (var session = sessionFactory.OpenSession())
            using (var tx = session.BeginTransaction())
            {
                var customers = session.CreateCriteria<Customer>()
                                       .List<Customer>();
                foreach (var customer in customers)
                {
                    Console.WriteLine("{0} {1}", customer.FirstName, customer.LastName);
                }
                tx.Commit();
                Console.WriteLine("Enter any key to exit...");
                Console.ReadKey();
            }
        }

        catch (Exception e)
        {
        }

    }
}
}

我没有收到任何错误和任何异常,但我也没有从数据库中获取任何信息,只是在控制台中输入字符串“输入任意键退出...”
怎么了?

UPD
XML 文件

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mappin xmlns="urn:nhibernate-mapping-2.2"
                  assembly="NHibernateDemo"
                  namespace="NHibernateDemo">
    <class name="Customer">
        <id name="Id">
            <generator class="native" />
        </id>
        <property name="FirstName"/>
        <property name="LastName"/>
    </class>
</hibernate-mappin>

最佳答案

您是否已将 xml 映射文件添加到 Assembly.GetExecutingAssembly()) 中?您必须制作嵌入资源。否则您将会出现您所描述的行为。

转到文件的属性以更改构建操作。

关于NHibernate 映射不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855614/

相关文章:

c# - nHibernate,一个 n 层解决方案 + 征求意见

Linq 到 NHibernate,按 Rand() 排序?

NHibernate Eager 使用 StatelessSession 进行多个级别的获取

c# - NHibernate 中的对象标识问题是什么?

nhibernate - 使用 NHibernate ISqlExceptionConverter 的自定义异常

nhibernate - IndexOutOfRangeException 深入 NHibernate

c# - 我可以传入 T.Property 吗?另外,改进这种方法的想法?

c# - 有关使用最新.Net技术开发基于Web的新应用程序的建议

c# - 带有子查询和别名的 NHibernate QueryOver

c# - 使用NHibernate的Multi Query功能时遇到 "undefined alias or unknown mapping"异常