Рокки,
Я думаю, что вам не хватает цели Nhibernate, идея NHibernate состоит в том, чтобы сопоставить вашу базу данных с вашим доменным объектом, поэтому такой класс
public class ImageGroup
{
public virtual int id { get; set; }
public virtual String Name { get; set; }
public virtual int ImageModalityId { get; set; }
public virtual int BaseCaseId { get; set; }
}
ВыЗатем можно использовать файлы сопоставления в Nhibernate для выполнения следующих действий:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="NHibernateTest" assembly="NHibernateTest">
<class name="ImageGroup" table="ImageGroup" lazy="false">
<id name="id">
<column name="id"/>
<generator class="native"/>
</id>
<property name="Name">
<column name="Name"/>
</property>
<property name="ImageModalityId">
<column name="ImageModalityId"/>
</property>
<property name="BaseCaseId">
<column name="BaseCaseId"/>
</property>
</class>
</hibernate-mapping>
и вызывать его таким способом
public class Start
{
static ISessionFactory SessionFactory;
public Start()
{
using (ISession session = OpenSession()) {
{
ImageGroup imagegroup1 = session.Get<ImageGroup>(1);
}
}
}
static ISession OpenSession() {
if (SessionFactory == null) //not threadsafe
{ //SessionFactories are expensive, create only once
Configuration configuration = new Configuration();
configuration.AddAssembly(Assembly.GetCallingAssembly());
SessionFactory = configuration.BuildSessionFactory();
}
return SessionFactory.OpenSession();
}
}
Я ссылаюсь на эту ссылку
Надеюсь, это поможет