Download - NHibernate in Action (Parte 1)

Transcript
Page 1: NHibernate in Action (Parte 1)

Marco De Sanctishttp://blogs.ugidotnet.org/Crad

[email protected]

NHibernate in Action

Page 2: NHibernate in Action (Parte 1)

Domain Model PatternDomain Model Pattern

Page 3: NHibernate in Action (Parte 1)

Perché usare un ORM?Perché usare un ORM?

Page 4: NHibernate in Action (Parte 1)

Il progetto NHibernateIl progetto NHibernate

Page 5: NHibernate in Action (Parte 1)

Perché NHibernate?Perché NHibernate?

Page 6: NHibernate in Action (Parte 1)

Per iniziare… Mapping Per iniziare… Mapping delle Entity!delle Entity!

oppure

generato automaticamente

Page 7: NHibernate in Action (Parte 1)

ConfigurazioneConfigurazione

...Configuration cfg = new Configuration();cfg.AddAssembly(“Sample");factory = cfg.BuildSessionFactory();...

<configSections> <section name="nhibernate" type=“..." /></configSections><nhibernate> <add key="hibernate.connection.provider" value=“..." /> <add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect" /> <add key="hibernate.connection.driver_class" value=“..." /> <add key="hibernate.connection.connection_string" value=“….connectionString..." /></nhibernate>

Page 8: NHibernate in Action (Parte 1)

La SessionLa Session

Page 9: NHibernate in Action (Parte 1)

Entity LifecycleEntity LifecycleSpazio della vostra applicazione

TRANSIENTTRANSIENTPERSISTENT

PERSISTENT

DETACHED

DETACHED

PERSISTENT

PERSISTENT

DETACHED

DETACHED

Page 10: NHibernate in Action (Parte 1)

Transparent Write Transparent Write BehindBehind

sessio

n

Sch

edule

d a

ctio

ns

Page 11: NHibernate in Action (Parte 1)

Dirty CheckingDirty Checking

...

Anagrafica.DataNascita = ...Anagrafica.Indirizzo.Cap = “...”

...

Page 12: NHibernate in Action (Parte 1)

Gestione della Gestione della concorrenzaconcorrenza

Page 13: NHibernate in Action (Parte 1)

Per aiutarvi con i file Per aiutarvi con i file di mapping…di mapping…

Codename Supertanga

NHibernate Domain Mapper is a tool that assists user creating NHibernate Mapping Files. User may add his own Domain Model assemblies and map them to database table using a rich UI, which will present him all the suitable options regarding at the element type he created. The peculiarity of this tool is that it allows doing the mapping task starting from a domain model instead of a Database schema.

Homepage su Codeplex:http://www.codeplex.com/NHDomainMapper

Se avete un po’ di tempo da dedicarci…

entrate a far parte del team di sviluppo, fama e gloria vi attendono!!

Page 14: NHibernate in Action (Parte 1)

Domande?