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 つのクラス ライブラリ
何か案は?