2

コンソール アプリケーション、データベース、モデル、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)
        {
        }

    }
}
}

エラーや例外は発生しませんでしたが、データベースからも情報を取得できませんでした"Enter any key to exit..."。コンソールに文字列を表示するだけです。
どうしたの?

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>
4

2 に答える 2

2

xml マッピング ファイルを に追加しましたAssembly.GetExecutingAssembly())か? 埋め込みリソースを作成する必要があります。それ以外の場合は、説明している動作になります。

ファイルのプロパティに移動して、ビルド アクションを変更します。

于 2013-07-25T10:57:56.850 に答える
1

マッピング XML ファイルのルート タグはhibernate-mapping(末尾の "g" に注意してください) である必要があります。

于 2013-07-25T11:34:25.710 に答える