그냥 nhibernate를 배우고 첫 번째 샘플을 만들려고합니다. nhibernate를 사용하여 테이블에 삽입 할 수 없습니다.
나는 비어있는 서비스 기반 데이터베이스를 생성하고 매핑과 일부 코드 작성 :이 프로그램을 실행할 때namespace lab
{
public class Skill
{
public virtual int Id { get; protected set; }
public virtual string Description { get; set; }
}
}
<?xml version='1.0' encoding='utf-8'?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="lab" assembly="lab">
<class name="Skill" table="Skill">
<id name="Id">
<generator class="native"/>
</id>
<property name="Description" />
</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="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
<property name="connection.connection_string">Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Dmitriy\Desktop\lab\lab\lab\DataBase.mdf;Integrated Security=True;User Instance=True</property>
<mapping file="C:\Users\Dmitriy\Desktop\lab\lab\lab\Skill.hbm.xml" />
</session-factory>
</hibernate-configuration>
var configuration = new Configuration();
configuration.Configure(@"C:\Users\Dmitriy\Desktop\lab\lab\lab\hibernate.cfg.xml");
var session = configuration.BuildSessionFactory().OpenSession();
var transaction = session.BeginTransaction();
var skill = new Skill {Description = "C#"};
session.Save(skill);
transaction.Commit();
난 항상 삽입 할 수없는 오류가 발생합니다 :
를INSERT INTO Skill (Description) VALUES (?);
select SCOPE_IDENTITY()
개체 이름 \ "기술 \"이 잘못되었습니다.
nhibernate가 테이블을 작성해야하므로 테이블을 작성하지 않았습니다.
왜 작동하지 않는지 알아낼 수 있습니까? SessionFactory
가 구축되기 전에
감사합니다. 정말 도움이됩니다! – w00drow
기꺼이 도와 드리겠습니다! – mickfold