0

これは私のドメインクラスです:

public class User
{
    public Guid id { get; set; }

    public string firstName { get; set; }

    public string lastName { get; set; }

    public string mailAddress { get; set; }
}

これは私のマッピングファイルです:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Test" namespace="Test.model">

  <class name="User" >
    <id name="id">
      <generator class="guid"/>
    </id>
    <property name="firstName"  />
    <property name="lastName" />
    <property name="mailAddress" />
  </class>

</hibernate-mapping>

これは私の hibernate-cfg ファイルです:

<?xml version="1.0" encoding="utf-8" ?>

<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MySQLDialect</property>
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
<property name="connection.connection_string">Server=localhost;Database=vbook;User ID=root;Password=ziben</property>
<!--<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>-->

<property name="hbm2ddl.auto">update</property>
<property name="generate_statistics">true</property>
<property name="show_sql">true</property>


<mapping file="data/mapping/User.hbm.xml" />

これは、セッション ファクトリを作成する方法です。

 var configuration = new Configuration();
 configuration.Configure();

 _sessionFactory = configuration.BuildSessionFactory();

次の例外が発生します: マッピング ドキュメントをコンパイルできませんでした: data/mapping/User.hbm.xml

理由がわかりません。

助けてください。

4

1 に答える 1

1

エンティティの C# プロパティはすべてvirtualとして宣言する必要があります。クラスを次のように変更します。

public class User
{
    public virtual Guid id { get; set; }
    public virtual string firstName { get; set; }
    public virtual string lastName { get; set; }
    public virtual string mailAddress { get; set; }
}
于 2012-12-24T11:09:43.367 に答える