0

マッピングファイル:

<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"  auto-import="true">
    <class name="PlayHibernate.Employee, PlayHibernate" lazy="false">
        <id name="id" access="field">
            <generator class="native"/>  
        </id>  
        <property name="name" access="field" column="name"/>  
        <many-to-one access="field" name="manager" column="manager" cascade="all"/>  
    </class>
</hibernate-mapping>

マッピングファイルをリソースとして設定しようとしましたが、エラーメッセージが「未処理の例外:NHibernate.MappingException:PlayHibernate.Employee.hbm.xml(5,31):XML検証エラー:名前空間の要素'id'」に変更されます。 'urn:nhibernate-mapping-2.2'にテキストを含めることはできません。--->System.Xml.Schema.XmlSchemaValidationExceptio n:名前空間'urn:nhibernate-mapping-2.2'の要素'id'にtextを含めることはできません。 "

4

2 に答える 2

3

最初のエラー「永続性がありません...」は、マッピングファイルを埋め込みリソースとして設定しなかった結果でした。

現在のエラーはあなたのid定義と関係があります。<id>定義内にテキストがあるようです。たぶん、いくつかの許可されていない空白?次のように書いてみてください。

<id name="id" access="field" column="uid" generator="native" />

また、それでも問題が解決しない場合は、フィールド名にid以外の名前を使用してみてください。多分Id

于 2012-08-27T12:45:46.800 に答える
0

Visual Studioで、.hbm.xmlファイルのプロパティ「コンパイルアクション」を「埋め込みリソース」に変更することを忘れないでください。

于 2013-08-11T19:40:51.263 に答える