Domanda

Sto cercando di replicare molte delle pratiche che usiamo con NHibernate in EF CTP4.

Al momento abbiamo un'interfaccia repository generico (CTP4 rende in realtà questo abbastanza facile con DbContext.Set).

Stiamo passando nel contesto e con StructureMap a scopo esso per HttpRequest.

Con NHibernate passiamo ISession (nuovo creato utilizzando StructureMap), ma usiamo un ActionFilter (UnitOfWork) per il commit della transazione, alla fine della richiesta.

Dobbiamo prestazioni equivalenti a EF CTP4? In caso contrario, devo usare lo stesso filtro a context.SaveChanges di chiamata () o semplicemente fare questo all'interno del repository.

Una nota a parte, qual è il modo più semplice di testare per vedere se un soggetto è nuovo o meno. Con NH abbiamo il lusso di appena chiamare ISession.SaveOrUpdate. Nota che tutti i miei soggetti utilizzano un identificatore GUID. Forse un assegno di default (Guid)?

Grazie.

È stato utile?

Soluzione

So che questa è una risposta tardiva che avrete capito ormai, ma presumo che sia utile per le persone alla ricerca. Rob Conery ha un grande post sull'uso ActionFilter e Ef per creare transazioni per richiesta portata.

Rob C Articolo

Oh, e sì, vorrei creare un metodo UpdateInsert () su un repository generico che prova per impostazione predefinita (GUID).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top