Dans ma quête pour approfondir mes connaissances, j'essaie de faire fonctionner NHibernate.NHibernate: Pas d'erreur persistante
je la structure suivante à ma solution
- Core Library Projet de classe
- Infrastructure Bibliothèque de classes du projet
- MVC application Projet projet de test
Dans mon projet de base J'ai créé l'entité suivante:
using System;
namespace Core.Domain.Model
{
public class Category
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
}
}
Dans mon projet d'infrastructure Je le mappage suivant:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Core.Domain.Model"
assembly="Core">
<class name="Category" table="Categories" dynamic-update="true">
<cache usage="read-write"/>
<id name="Id" column="Id" type="Guid">
<generator class="guid"/>
</id>
<property name="Name" length="100"/>
</class>
</hibernate-mapping>
Avec le fichier de configuration suivante:
<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=xxxx;database=xxxx;Integrated Security=true;</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
<property name="cache.use_query_cache">false</property>
<property name="adonet.batch_size">100</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<mapping assembly="Infrastructure" />
</session-factory>
</hibernate-configuration>
Dans mon projet de test, je le test suivant
[TestMethod]
[DeploymentItem("hibernate.cfg.xml")]
public void CanCreateCategory()
{
IRepository<Category> repo = new CategoryRepository();
Category category = new Category();
category.Name = "ASP.NET";
repo.Save(category);
}
J'ai l'erreur suivante lorsque j'essaie d'exécuter le test:
Méthode de test Volunteer.Tests.CategoryTests.CanCreateCategory a levé l'exception: NHibernate.MappingException: Non persister pour: Core.Domain.Model.Category.
Toute aide serait grandement appréciée. J'ai l'action de construction cfg définie sur la ressource incorporée.
Merci!
Je l'ai fait et copié le même fichier de configuration à mon ensemble de test (qui est également défini à la ressource intégrée) – Mike
Vous n'avez pas à intégrer le fichier de configuration, seul le mappage. –
C'était tout. Je ne peux pas croire que je l'ai oublié. Merci de votre aide! – Mike