Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pengecualian NHibernate.Pemetaan. Tidak ada persisten untuk Namespace.className

Saya akan mengatakan, karena semua informasi itu, kita harus memiliki pelakunya. Ada begitu banyak masalah (well masalah sebenarnya) dengan pemetaan dan kode C# , yang pasti kita ketahui:

Jika file ini apa adanya akan tersedia untuk pabrik sesi NHibernate, kami akan mendapatkan Pengecualian ini

Yang dapat diperbaiki dengan menambahkan atribut namespace ke pemetaan namespace="NhibernateORM"

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
  assembly="NhibernateORM"
  namespace="NhibernateORM"
  auto-import="true">
  <class name="Layout" table="mytable">
    <id name="Id" column="ID" type="int" generator="assigned" />
    <property name="Name"        column="name"        type="String"/>
    <property name="xCoordinate" column="xCoordinate" type="double" />
    <property name="yCoordinate" column="yCoordinate" type="double" />
  </class>
</hibernate-mapping>

Setelah itu diperbaiki, kami nantinya akan mendapatkan pengecualian ini

yang dapat diperbaiki dengan membuat semua barang Entitas menjadi virtual:

namespace NhibernateORM
{
    public class Layout
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual double xCoordinate { get; set; }
        public virtual double yCoordinate { get; set; }

Jadi, pasti, kita tahu - masalahnya adalah

  • konfigurasi yang salah di hibernate.cfg.xml
  • konfigurasi yang salah dari Mapping.hbm.xml properti

Ini harus menjadi bagian dari hibernate.cfg.xml :

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
      ...
      <mapping assembly="NhibernateORM"/>

hibernate.cfg.xml harus memiliki properti:

  • Bangun Tindakan ===Konten
  • Salin ke Direktori Keluaran ===Salin selalu

Pemetaan.hbm.xml harus memiliki properti:

  • Bangun Tindakan ===Sumber Daya Tersemat
  • Salin ke Direktori Keluaran ===Jangan salin



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hitung perbedaan antara dua baris dalam SQL

  2. Perbedaan tanggal antara dua record dalam tabel yang sama

  3. MySQL UPDATE dengan SELECT SUM dari tabel yang berbeda

  4. mysql_insert_id dengan pembaruan

  5. Permintaan MySQL lambat