매핑 파일에 문제가있는 곳이 있습니까?틀린 매핑 NHibernate 3.3
Eroor : NHibernateTutorial.Mapping.Character.hbm.xml
내 모든 파일을 추가: 은 매핑 문서를 컴파일 할 수 없습니다.
캐릭터
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NHibernateTutorial.Domain
{
public class Character
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual int HealthPoints { get; set; }
public virtual int Mana { get; set; }
public virtual string Profession { get; set; }
}
}
매핑 (Character.hbm.xml)
,369을 ConnectionString을<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernateTutorial"
namespace="NHibernateTutorial.Domain">
<class name="Character">
<id name="Id">
<generator class="guid" />
</id>
<property name="Name" />
<property name="HealthPoints" />
<property name="Mana" />
<property name="Profession" />
</class>
</hibernate-mapping>
오류
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Data Source=RAFAL-KOMPUTER\MSSQLSERVER4;Database=rafal;Trusted_Connection=True;</property>
</session-factory>
</hibernate-configuration>
NHibernateHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Cfg;
using NHibernateTutorial.Domain;
namespace NHibernateTutorial
{
public class NHibernateHelper
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
var configuration = new Configuration();
configuration.Configure();
configuration.AddAssembly(typeof(Character).Assembly);
_sessionFactory = configuration.BuildSessionFactory();
}
return _sessionFactory;
}
}
public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}
}
}
문자 저장소
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernateTutorial.Domain;
using NHibernate;
namespace NHibernateTutorial
{
public class CharacterRepository
{
public void Add(Character newCharacter)
{
using (ISession session = NHibernateHelper.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(newCharacter);
transaction.Commit();
}
}
}
public Character GetCharacterByName(string name)
{
using (ISession session = NHibernateHelper.OpenSession())
{
var result = session.QueryOver<Character>().Where(x => x.Name == name).SingleOrDefault();
return result ?? new Character();
}
}
public void Update(Character newCharacter)
{
using (ISession session = NHibernateHelper.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Update(newCharacter);
transaction.Commit();
}
}
}
public void Delete(Character newCharacter)
{
using (ISession session = NHibernateHelper.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Delete(newCharacter);
transaction.Commit();
}
}
}
}
}
예외 정보 :
질문에 내부 예외 메시지를 적어주세요 :) 일반적으로 NHibernate는 무슨 일이 일어 났는지 말하고, 또한이 질문 자체에 대답 할 것입니다! –
나는 이걸 디버그에서 두 번 확인한다. -> 매핑 문서를 컴파일 할 수 없었다 : NHibernateTutorial.Mapping.Character.hbm.xml –
나는 그것을 의심한다. 대화 상자에서 excetion 속성을 확인하십시오. 오류 및 원인 모음이 있다는 것을 완전히 확신 할 수는 없습니다. –