Quantcast
Channel: DotNet-Blog.NET - NHibernate
Viewing all articles
Browse latest Browse all 2

How-To - LINQ-to-NHibernate

$
0
0
Die beiden O/R-Mapper von Microsoft hatten gemeinsam etwas sehr attraktives an sich und das war die Unterstützung von LINQ. NHibernate selbst verfügt über eigene Abfragesprachen. Dennoch zeigen sich diese Sprachen etwas komplexer, überdies kann mittels LINQ eine SQL ähnliche Abfrage und das auch noch Typsicher, durchgeführt werden. Doch gibt es derzeit endlich die erste fertige Version von LINQ-to-NHibernate. Somit wird NHibernate wieder ein großes Stück mächtiger.

Der LINQ Provider dafür kann hier Heruntergeladen werden: http://sourceforge.net/projects/nhibernate/files/NHibernate/2.1.0.GA/NHibernate.Linq-1.0.0.GA-bin.zip/download

Beispiel

Der Provider selbst ist sehr schlank und besteht nur aus einer Library „NHibernate.Linq.dll“. Die Library wird dann der Datenschicht unter den Referenzen hinzugefügt. Anschließend muss in der Repository-Klasse die beiden Usings „System.Linq“ und „NHibernate.Linq“ deklariert werden.

Anschließend kann eine normale LINQ Anfrage begonnen werden. Dem session-Objekt steht jetzt eine neue Methode mit „LINQ“ zur Verfügung (Extended Method). Der LINQ-Methode muss man nun den Typen des Entitys mitgeben.

Abb.1.1. – LINQ bei NHibernate verwenden.

Fazit

Die LINQ Funktionalität war schon ein lang vermisstes Feature für NHibernate Liebhaber. Die erste Version zeigt sich sehr Stabil. Leider müssen mache Konvertierungen wie zum Beispiel „AsQueryable“ mit Umwegen durch andere Methoden wie „ToList“ durchgeführt werden. Das sollte normal direkt konvertierbar sein. Hoffentlich wird das bei den kommenden Versionen des Providers verbessert.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images