0

私は NHibernate を回避する方法を知っていると思っていましたが、愚かなことをしているに違いありません。カテゴリと呼ばれるテーブル/クラスがあります。GetAll メソッドからデータを取得すると、何も返されませんが、エラーも発生しません。

クラスは次のとおりです。

namespace Model
{
    [Serializable]
    public partial class Category
    {
        public virtual int Id { get; set; }
        public virtual DateTime CreatedOn { get; set; }
        public virtual DateTime UpdatedOn { get; set; }

        public virtual string Name { get; set; }

        public override bool Equals(object oneObject)
        {
            return oneObject is Category && (this.GetHashCode() == ((Category)oneObject).GetHashCode());
        }

        public override int GetHashCode()
        {
            return Id.ToString().GetHashCode();
        }

    }
}

マッピング ファイル:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" namespace="Model" assembly="Model" xmlns="urn:nhibernate-mapping-2.2">
    <class name="Category" lazy="true" table="`categories`"><!--test only!!-->
        <id name="Id" access="property" column="`category_id`">
            <generator class="native" />
        </id>
    <property name="Name" column="`name`" length="50" />
    </class>
</hibernate-mapping>

別のテーブルに多対一の参照を追加すると、次のエラーが発生しますAn association from the table manufacturer_categories refers to an unmapped class: Model.Category

NHibernate がマッピング ファイルを認識していないことは明らかです。私が見逃している愚かなことは何ですか?

4

2 に答える 2

1

XML ファイルが埋め込みリソースとしてマークされていることを確認しましたか?

ここに画像の説明を入力

于 2013-05-07T14:14:11.883 に答える