Hi all I am trying to implement a decorator chain for my data-access based on IRepository<TEntity, TKey>. I have a Repository that does the data- access (at the moment just in-memory list) [1], and I have one that does validation [2]. On top of that, I have a specialisation of my Repository, IUsersRepository [3], which defines another method on the base interface. I am running on the latest trunk revision 5376.
I would like to be able to register my components using the fluent interface - is it possible to specify, as it is via XML, the key of the service to use as the innerRepo? If so, how? (See http://blog.bittercoder.com/PermaLink,guid,4863e460-2985-475c-9266-80b4895e80de.aspx for an XML-config example). I would prefer to not need to rely on the order of registrations, apart from anything else. I am following this blog post (http://blog.bittercoder.com/ PermaLink,guid,63653be2-d0d4-4a0b-b3e5-a1572aad5c8b.aspx ). I have been able to get the decorator chain working if I ask the container for IRepository<User, int> [4]; I see my ValidatingRepository methods get called before my data-access. But I have not been able to get it working if I ask the container for IUserRepository (I get an InvalidCastException - I guess this is expected, but is it work-aroundable?). I would like to avoid needing to use one decorated-repo and one specialised-methods repository in my services; this strikes me as error-prone. At the moment, my specialised methods are all to do with fetching entities by different criteria - I suppose I could make my Get method take a detached-criteria - that would allow me to only have one on my interface, and eliminate the need for the specialised interfaces. Except that I'm not allowed to because we haven't decided to definitely use NHibernate. Perhaps if I made IRepo.Get take a delegate or an IQueryable? Any ideas? I've been banging my head against this all morning and wouldn't be surprised if I have tunnel vision, and there's a different, better, approach; any suggestions are welcomed! What does "ForwardedTypes" mean, by the way? Thanks in advance! Pete [1] - [4] can be seen at http://utilitybase.com/paste/9003 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
