Я начинаю свое приключение с nHibernate, и у меня есть проблема.NHibernate.MappingException: Нет persister для
Мой код: Модель/Project.cs
namespace entity1.Model
{
public class Project
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
}
Модель/Project.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true" namespace="entity1.Model" assembly="entity1.Model">
<class name="entity1.Model.Project, entity1.Model" lazy="false">
<id name="id" column="prj_id"></id>
<property name="Name" column="prj_name" />
<property name="Description" column="prj_description" />
</class>
</hibernate-mapping>
Web.config
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Server=(local);initial catalog=todo;Integrated Security=True</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<mapping assembly="entity1.Model"/>
</session-factory>
</hibernate-configuration>
Test.aspx.cs
Project project = new Project();
// [...]
Configuration c = new Configuration();
c.AddAssembly(Assembly.GetCallingAssembly());
ISessionFactory factory = c.BuildSessionFactory();
using (ISession session = factory.OpenSession()) {
using(ITransaction transaction = session.BeginTransaction()){
session.Save(project);
transaction.Commit();
}
И исключение: Нет стойкая бактерия для: entity1.Model.Project
Что не так?
Я искренне благодарю всех за помощь. Извините за мой английский. Это не слишком хорошо.
Я проверил сборку в свойствах проекта. Существует сборка: entity1. Основное пространство имен: entity1. Далее я устанавливаю пространство имен и сборку в файле сопоставления и в web.config для namespace = "entity1.Model" и assembly = "entity1" К сожалению, это неправильно. – kalinowski
, и вам может не хватать вызов 'configuration.Configure()' – MichaC
Да! Это его! Большое спасибо! – kalinowski