Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lore Eckermann Geändert vor über 11 Jahren
1
ORMapper: NHibernate 11.12.2010 Henning Eiben eiben@busitec.de
2
Die meisten Anwendungen drehen sich um Daten Klassischer Datenbankzugriff – ConnectionString – SQL oder Stored Procedures – ADO.Net DataSet, Command-Objekte, … 11.12.2010ORMapper: NHibernate2
3
ORM Anwendungen drehen sich Geschäftsobjekte nicht um Tabellen ORM – Konvertieren von Tabellen zu Objekten – Weniger Code – Abstraktion 11.12.2010ORMapper: NHibernate3
4
Funktionsweise Datenbank – MS-SQL, SQLLite, Oracle, MySQL, … Konfiguration – XML, FluentNHibernate (API) Geschäftsobjekte – Poco 11.12.2010ORMapper: NHibernate4
5
11.12.2010ORMapper: NHibernate5 Demo
6
Vorteile Einheitliches Paradigma für Datenzugriffe Keine wiederkehrenden Arbeiten Skalierbarkeit, Integrität, Abstraktion 11.12.2010ORMapper: NHibernate6
7
XML-Konfirugation 1/2 NHibernate.Driver.SqlClientDriver Server=(local);initial catalog=NorthWind;Integrated Security=SSPI 10 true NHibernate.Dialect.MsSql2008Dialect true 60 true 1, false 0, yes 'Y', no 'N' NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle 11.12.2010ORMapper: NHibernate7
8
XML-Konfiguration 2/2 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate3" namespace="NHibernate3.Entities" default-lazy="true" default-access="property"> 11.12.2010ORMapper: NHibernate8
9
var configuration = new Configuration(); configuration.Configure(); configuration.AddAssembly(typeof (Customer).Assembly); _sessionFactory = configuration.BuildSessionFactory(); using (var session = _sessionFactory.OpenSession()) using (var tx = session.BeginTransaction()) { var customers = from mycustopmer in session.Query () where mycustopmer.Id == "ALFKI" select mycustopmer; customerList.DataSource = customers; customerList.DataBind(); tx.Commit(); } 11.12.2010ORMapper: NHibernate9
10
Fluent Konfiguration 1/2 var fluentConfiguration = Fluently.Configure().Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c.Database("Northwind").Server("localhost").TrustedConnection() ).ShowSql() ).Mappings(m => m.FluentMappings.AddFromAssemblyOf ()); 11.12.2010ORMapper: NHibernate10
11
Fluent Konfiguration 2/2 public class CustomerMapping : ClassMap { /// /// Initializes a new instance of the class. /// /// Initializes a new OR-Mapping. public CustomerMapping() { Table("Customers"); Id(customer => customer.Id).Column("CustomerID").GeneratedBy.Assigned(); Map(c=>c.Name).Column("CompanyName"); } 11.12.2010ORMapper: NHibernate11
12
Features Abfragen – HQL – Criteria API – LINQ Transaktionen … 11.12.2010ORMapper: NHibernate12
13
11.12.2010ORMapper: NHibernate13 Demo
14
Queqies: LINQ var customers = from mycustomer in session.Query () where mycustomer.Id == "ALFKI" select mycustomer; 11.12.2010ORMapper: NHibernate14
15
Queries: HQL var customers = session.CreateQuery("from Customer where Id='ALFKI'").List (); 11.12.2010ORMapper: NHibernate15
16
Queries: Criteria API var customers = session.CreateCriteria ().Add(Expression.Eq("Id", "ALFKI")).List (); 11.12.2010ORMapper: NHibernate16
17
Verweise http://nhforge.org http://fluentnhibernate.org 11.12.2010ORMapper: NHibernate17
18
Danke Henning Eiben eMail/MSN: eiben@busitec.deeiben@busitec.de ICQ: #3 64 70 70 11.12.2010ORMapper: NHibernate18
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.