Muchas gracias ya veo por donde va la cosa. On 21 jul, 06:27, Fabio Maulo <[email protected]> wrote: > tirá de > estehttp://fabiomaulo.blogspot.com/2009/09/repository-or-dao-repository.html > > <http://fabiomaulo.blogspot.com/2009/09/repository-or-dao-repository.html>y > luego de estehttp://fabiomaulo.blogspot.com/2010/07/enhanced-query-object.html > > <http://fabiomaulo.blogspot.com/2010/07/enhanced-query-object.html>y lee > bien lo que dicen. > > 2010/7/20 Pardety <[email protected]> > > > > > > > ¡Gracias Edgar! > > Por lo menos un hilo del que tirar... > > > On 21 jul, 00:01, Edgar Ramos <[email protected]> wrote: > > > Para lo que comentas, estoy revizando este frameworkhttp:// > > linqspecs.codeplex.com/, el cual implementa specification > > > pattern, si descargas el codigo (con su ejemplo), podrás analizar > > > justamente lo que comentas, en el ejemplo que expone, esta > > > repository+nh > > > > Saludos > > > > Edgar > > > > El día 20 de julio de 2010 16:50, Pardety <[email protected]> escribió: > > > > > Cuando digo evidente me refiero que la acción en sí está definida. Se > > > > que objeto voy a borrar o guardar. Con la consulta linq todavía no se > > > > cual es la expresión de la query, si lo que persigo es poder usar linq > > > > en mi capa de negocio y evitar los repositorios tipo > > > > GetByNameAndStreet. > > > > Si se va a guardar se abre una transacción, se llama al método save y > > > > se hace un commit ¿Pongo lo del try catch el rollback....? > > > > Si se hace una consulta usando ICriteria, igual, la llamada a la base > > > > de datos queda encapsulada. La pregunta es respecto a consultas > > > > usando linq, o al menos usando esta implementación, ¿como se hace?. > > > > ¿Añadiendo métodos al repositorio para que abra y cierre > > > > transacciones? ¿En este caso no se usan? > > > > > saludos > > > > > On 20 jul, 13:47, José F. Romaniello <[email protected]> wrote: > > > >> cual es la forma evidente de manejar los ámbitos de transacciones? Me > > > >> gustaría ver aunque sea en pseudocódigo como lo pondrías vos. > > > > >> El 20 de julio de 2010 04:26, Jose Manuel Pardo Godoy > > > >> <[email protected]>escribió: > > > > >> > Hola a todos > > > > >> > Estoy dando mis primeros pasos con nhibernate y me surge la > > siguiente duda. > > > >> > He visto implementaciones de repositorios que implementan (perdón > > por la > > > >> > redundancia) el interfaz IQueryable y hacen uso del nhlinq. > > > >> > Mi pregunta es ésta: > > > >> > Dentro de las buenas prácticas se recomienda que hay que encapsular > > todas > > > >> > las acciones dentro de una transacción,con operaciones de borrado y > > > >> > actualización es evidente como realizar esta encapsulación., pero > > ¿Cómo > > > >> > hacerlo cuando se usa linq para consultas? > > > > >> > Esta es la implementación de mi repositorio de solo lectura, > > > > >> > public class Repository<T> : IRepository<T> where T : IEntity > > > > >> > { > > > >> > private readonly ISessionFactory _sessionFactory; > > > > >> > protected Repository(ISessionFactory sessionFactory) > > > > >> > { > > > >> > _sessionFactory = sessionFactory; > > > >> > } > > > > >> > public Expression Expression > > > > >> > { > > > >> > get > > > >> > { > > > >> > return > > _sessionFactory.GetCurrentSession().Linq<T>().Expression; > > > > >> > } > > > >> > } > > > > >> > public Type ElementType > > > >> > { > > > > >> > get { return > > _sessionFactory.GetCurrentSession().Linq<T>().ElementType; } > > > > >> > } > > > > >> > public IQueryProvider Provider > > > >> > { > > > >> > get { return > > _sessionFactory.GetCurrentSession().Linq<T>().Provider; } > > > > >> > } > > > > >> > public IEnumerator<T> GetEnumerator() > > > > >> > { > > > >> > return > > _sessionFactory.GetCurrentSession().Linq<T>().GetEnumerator(); > > > > >> > } > > > > >> > IEnumerator IEnumerable.GetEnumerator() > > > > >> > { > > > >> > return GetEnumerator(); > > > >> > } > > > >> > } > > > > >> > Gracias por anticipado > > > > >> > -- > > > >> > Saludos > > > > >> > José M. Pardo > > > > >> > -- > > > >> > Para escribir al Grupo, hágalo a esta dirección: > > > >> > [email protected] > > > >> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > > > > -- > > > > Para escribir al Grupo, hágalo a esta dirección: > > [email protected] > > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > > [email protected] > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > -- > Fabio Maulo
-- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
