NHibernate - Podstawowy ORM

W tym rozdziale zajmiemy się niektórymi basic mappingi wiesz, że z ostatniego rozdziału mamy tabelę bazy danych, a także definicję klasy C #. Potrzebujemy teraz mapowania, które wyjaśnia, jak tłumaczyć z C # do bazy danych iz powrotem.

Więc przejdźmy dalej i dodajmy nowy plik XML, klikając prawym przyciskiem myszy projekt w eksploratorze rozwiązań i wybierając Dodaj → Nowy element ...

Wchodzić Student.hbm.xmlw polu nazwy. Musimy określić domyślny zestaw, który będzieNHibernateDemoAppa także określ domyślną przestrzeń nazw. To tylko skraca wiele innych definicji typów, które zamierzamy utworzyć w tym pliku.

Poniżej znajduje się implementacja w pliku 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>

Następną rzeczą, którą musimy zdefiniować, jest zdefiniowanie klasy; ta klasa będzie naszaStudent class. Następnie musimy przekazać NHibernate nazwę identyfikatora, czyli ID, a także powiedzieć NHibernate, jak wygenerować identyfikator, więc nasz generator będzie typu native.

Generator typu natywnego oznacza, że ​​w bazie danych, takiej jak SQL Server, będzie używał kolumny tożsamości, typu tożsamości.

Następną rzeczą, którą musimy zrobić, jest podanie nazw właściwości. Dlatego dodaj jeszcze dwie właściwości FirstName i LastName.

Teraz czytamy te pliki mapowania z zestawu. Więc preferowanym sposobem na zrobienie tego jest posiadanie tychHBM filesupieczony w twoim zestawie. Możemy to zrobić, po prostu ustawiając właściwość.

Teraz kliknij prawym przyciskiem myszy projekt w eksploratorze rozwiązań i wybierz Właściwości, zobaczysz plik Build Action field w którym Treść jest zaznaczona domyślnie.

Wybierz osadzony zasób z listy rozwijanej.

Więc to faktycznie osadza ten plik XML wewnątrz NHibernateDemoApp montaż.