Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

NHibernate.Mapping Exception. Không có người đăng ký nào cho Namespace.className

Tôi muốn nói, bởi vì tất cả những thông tin đó, chúng ta nên có một thủ phạm. Có rất nhiều vấn đề vấn đề trên thực tế) với ánh xạ mã C # , mà chúng tôi chắc chắn biết:

Trong trường hợp, tệp này nguyên trạng sẽ có sẵn cho nhà máy phiên NHibernate, chúng tôi sẽ nhận được Ngoại lệ này

Có thể sửa lỗi này bằng cách thêm thuộc tính không gian tên vào ánh xạ 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>

Sau khi điều đó đã được khắc phục, sau đó chúng tôi sẽ nhận được ngoại lệ này

điều này có thể được khắc phục bằng cách biến tất cả các Đối tượng trở thành ảo:

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; }

Vì vậy, chắc chắn, chúng tôi biết - vấn đề là

  • cấu hình sai trong hibernate.cfg.xml
  • cấu hình sai của Mapping.hbm.xml tài sản

Đây phải là một phần của hibernate.cfg.xml :

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

the hibernate.cfg.xml phải có các thuộc tính:

  • Xây dựng Hành động ===Nội dung
  • Sao chép vào Thư mục đầu ra ===Sao chép luôn

the Mapping.hbm.xml phải có các thuộc tính:

  • Hành động xây dựng ===Tài nguyên được nhúng
  • Sao chép vào Thư mục đầu ra ===Không sao chép



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL vs MySQL:Các quy tắc về hoạt động tổng hợp và GROUP BY

  2. Tự tham khảo nhiều loại quan hệ với nhiều ngườiORM

  3. mysql FULLTEXT tìm kiếm nhiều từ

  4. Kết nối cơ sở dữ liệu MySQL động cho Entity Framework 6

  5. Cấu trúc thiết kế / chuẩn hóa cơ sở dữ liệu cần phải chứa các AND, OR, các phần tử tùy chọn và các mối quan hệ của chúng