Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ORMapper: NHibernate 11.12.2010 Henning Eiben

Ähnliche Präsentationen


Präsentation zum Thema: "ORMapper: NHibernate 11.12.2010 Henning Eiben"—  Präsentation transkript:

1 ORMapper: NHibernate Henning Eiben

2 Die meisten Anwendungen drehen sich um Daten Klassischer Datenbankzugriff – ConnectionString – SQL oder Stored Procedures – ADO.Net DataSet, Command-Objekte, … ORMapper: NHibernate2

3 ORM Anwendungen drehen sich Geschäftsobjekte nicht um Tabellen ORM – Konvertieren von Tabellen zu Objekten – Weniger Code – Abstraktion ORMapper: NHibernate3

4 Funktionsweise Datenbank – MS-SQL, SQLLite, Oracle, MySQL, … Konfiguration – XML, FluentNHibernate (API) Geschäftsobjekte – Poco ORMapper: NHibernate4

5 ORMapper: NHibernate5 Demo

6 Vorteile Einheitliches Paradigma für Datenzugriffe Keine wiederkehrenden Arbeiten Skalierbarkeit, Integrität, Abstraktion ORMapper: 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 ORMapper: NHibernate7

8 XML-Konfiguration 2/2 ORMapper: 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(); } ORMapper: 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 ()); ORMapper: 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"); } ORMapper: NHibernate11

12 Features Abfragen – HQL – Criteria API – LINQ Transaktionen … ORMapper: NHibernate12

13 ORMapper: NHibernate13 Demo

14 Queqies: LINQ var customers = from mycustomer in session.Query () where mycustomer.Id == "ALFKI" select mycustomer; ORMapper: NHibernate14

15 Queries: HQL var customers = session.CreateQuery("from Customer where Id='ALFKI'").List (); ORMapper: NHibernate15

16 Queries: Criteria API var customers = session.CreateCriteria ().Add(Expression.Eq("Id", "ALFKI")).List (); ORMapper: NHibernate16

17 Verweise ORMapper: NHibernate17

18 Danke Henning Eiben /MSN: ICQ: # ORMapper: NHibernate18


Herunterladen ppt "ORMapper: NHibernate 11.12.2010 Henning Eiben"

Ähnliche Präsentationen


Google-Anzeigen