NHibernate - ORM cơ bản

Trong chương này, chúng tôi sẽ đề cập đến một số basic mappingvà bạn biết rằng từ chương trước chúng ta có bảng cơ sở dữ liệu cũng như định nghĩa lớp C #. Bây giờ chúng ta cần một ánh xạ giải thích cách dịch từ C # sang cơ sở dữ liệu và quay lại một lần nữa.

Vì vậy, hãy tiếp tục và thêm một tệp XML mới bằng cách nhấp chuột phải vào dự án trong trình khám phá giải pháp và chọn Thêm → Mục mới ...

Đi vào Student.hbm.xmltrong trường tên. Chúng tôi cần chỉ định một hội đồng mặc định sẽ làNHibernateDemoAppvà cũng chỉ định một không gian tên mặc định. Điều này chỉ rút ngắn rất nhiều định nghĩa kiểu khác mà chúng ta sẽ thực hiện trong tệp này.

Sau đây là cách triển khai trong tệp XML:

<?xml version = "1.0" encoding = "utf-8" ?> 

<hibernate-mapping xmlns = "urn:nhibernate-mapping-2.2" 
   assembly = "NHibernateDemoApp" namespace = "NHibernateDemoApp">

   <class name = "Student"> 
      <id name = "ID">
        <generator class = "native"/> 
      </id> 
		
      <property name = "LastName"/> 
      <property name = "FirstMidName"/> 
   </class> 
   
</hibernate-mapping>

Điều tiếp theo chúng ta cần xác định một lớp; lớp học này sẽ là của chúng tôiStudent class. Tiếp theo, chúng ta cần cho NHibernate biết tên của id, đó là ID và tôi cũng phải cho NHibernate biết cách tạo ID, vì vậy trình tạo của chúng ta sẽ là kiểu gốc.

Trình tạo kiểu gốc có nghĩa là trong cơ sở dữ liệu như SQL Server, nó sẽ sử dụng cột nhận dạng, kiểu nhận dạng.

Điều tiếp theo chúng ta phải làm là cung cấp tên của các thuộc tính. Vì vậy, hãy thêm hai thuộc tính nữa cho FirstName và LastName.

Bây giờ, chúng tôi đang đọc các tệp ánh xạ này từ assembly. Vì vậy, cách ưu tiên để làm điều này là có nhữngHBM filesnướng vào lắp ráp của bạn. Chúng tôi có thể làm điều này bằng cách chỉ cần thiết lập một thuộc tính.

Bây giờ nhấp chuột phải vào dự án trong trình khám phá giải pháp và chọn Thuộc tính, bạn sẽ thấy Build Action field trong đó Nội dung được chọn theo mặc định.

Chọn tài nguyên được nhúng từ danh sách thả xuống.

Vì vậy, điều này thực sự nhúng tệp XML đó vào bên trong NHibernateDemoApp hội,, tổ hợp.