A DotNet Raider

My adventures in the .NET world!
posts - 38, comments - 15, trackbacks - 0

My Links

News

Website View Martino Bordin's profile on LinkedIn XBOX 360 AVATAR - BORD1986
Locations of visitors to this page

Archives

Post Categories

Arch

BlogRoll

Codeplex

Google code

MSDN

Sites

O/RM

My adventures in the O/RM world
Intercettare l'esecuzione di query con Entity Framework Code First

Recentemente ho avuto la necessità di intercettare e manipolare le query generate da Entity Framework. In particolare dovevo assicurarmi che non venissero estratte dal database le entità la cui proprietà Disabled fosse true (cancellazione logica). Dalla versione 6 è possibile innestarsi nella pipeline di EntityFramework ereditando dalla classe DefaultExpressionVisitor ed eseguento l'override del metodo Visit, che si occupa di generare l'expression tree che poi verrà convertito in SQL. Sostanzialmente, se il tipo di entità ha una proprietà Disabled, imposto un filtro verificando che non sia uguale a true. Per iniettare questo comportamento nella pipeline, basta implementare l'interfaccia IDbCommandTreeInterceptor e...

posted @ Tuesday, June 16, 2015 10:21 AM | Feedback (0) | Filed Under [ O/RM SQL Server ]

Generare il modello EDMX con EF CodeFirst

A volte potrebbe tornare utile avere la rappresentazione visuale del modello CodeFirst che stiamo utilizzando, ovvero datto il DbContext CodeFirst, ottenere il file EDMX corrispondente: Il tutto è facilmente ottenibile con poche righe di codice:

posted @ Thursday, February 5, 2015 10:31 AM | Feedback (0) | Filed Under [ VISUAL STUDIO O/RM ]

Automapper : creare Dto da proxy Nhibernate

Se utilizzate AutoMapper per creare Dto da oggetti letti con Nhibernate e lazy-loading attivo, è possibile che otteniate un’eccezione di tipo ObjectDisposedException, in quanto Automapper accede a proprietà “Lazy”, ma la sessione è già stata chiusa e distrutta. Per risolverlo, basta implementare un Custom Resolver, che tornerà null qualora il tipo della proprietà che sto provando a mappare sia un proxy non inizializzato. Ecco quindi il codice: public class NhProxyResolver : ValueResolver<object, object> {     protected override object ResolveCore(object source)     {         return NHibernateUtil.IsInitialized(source) ? source : null;     } } ...

posted @ Wednesday, February 29, 2012 12:00 AM | Feedback (0) | Filed Under [ WPF SILVERLIGHT O/RM ]

Introduzione a Nhibernate.Envers (ovvero, come fare auditing in 3 righe di codice)

All’ultima UgiAltConf , tenutasi poco meno di un mese fa, Fabio Maulo ha presentato ConfORM e una libreria che in questi giorni è stata rilasciata in versione Alpha: Nhibernate.Envers. Si tratta di un porting da Java che facilita le operazioni di auditing (per essere più precisi, stiamo parlando del Parallel Model definito da Martin Fowler). In pratica, possiamo ottenere istanze delle nostre classi di dominio ad una specifica revisione/data (stile TFS), il tutto con poche righe di codice. Interessante vero? Vediamo come fare: Ho creato un’app console con 3 classi...

posted @ Wednesday, March 9, 2011 12:16 AM | Feedback (0) | Filed Under [ O/RM ]

UgiAltConf - Entity Framework Code First vs NHibernate 3

Ieri, assieme all’amico Pietro Libro, abbiamo tenuto una sessione all’UgiAltConf inerente a Entity Framework Code First e NHibernate 3, i due principali O/RM disponibile per la piattaforma .NET. E’ stata ovviamente una panoramica, in quanto: Entity Framework Code First è in CTP5, NHibernate è attualmente in RTM3. Parlare in modo esaustivo di 2 O/RM in un’ora è impossibile (solo per NHibernate è stato tenuto un evento qualche mese fa con speaker d’eccezione) Per questo abbiamo deciso di non scendere troppo in dettagli tecnici ma illustrare i principali aspetti di un O/RM: ...

posted @ Sunday, February 20, 2011 10:48 AM | Feedback (1) | Filed Under [ O/RM ]

Powered by:
Powered By Subtext Powered By ASP.NET