1

Nhibernate が実行されている VS 2012 ソリューションがあります。セッションマネージャーとマッピングファイルがあり、次の方法で簡単なリソースがあります。

 public User GetUser()    
    {
        ISession session = SessionManager.OpenSession();
        User user = session.Query<User>().First();

        return user;
    }

ただし...メソッドを呼び出すと、クエリから結果が返されません(DBにデータがある間)...マッピングファイルなどがbinフォルダーに展開されます。

マッピング ファイル:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="Main.Objects.User,Main.Objects">
    <id name="Id">
      <generator class="guid.comb" />
    </id>
    <property name="UserName"/>

  </class>
</hibernate-mapping>

休止状態の設定:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory name="">
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
    <property name="connection.connection_string">Server=localhost;Database=DB;uid=root;pwd=root</property>
    <mapping assembly="Main.Objects"/>
  </session-factory>
</hibernate-configuration>

基本的なユーザー クラス:

 public class SYUser
    {
        public virtual Guid Id { get; set; }

        public virtual string UserName  { get; set; }
    }

マッピングと休止状態の構成ファイルはデータベース固有のクラス ライブラリにあり、クエリは別のクラス ライブラリにあり、オブジェクトも別のライブラリにあります...つまり、3 つのクラス ライブラリ

何か案は?

4

1 に答える 1