I love problems like this. Keep 'em coming :D On Tue, Sep 16, 2008 at 2:04 PM, Andrew Stewart <[EMAIL PROTECTED]> wrote: > Cheers Paul > You are a star, once I get my laptop back up and running I'll go about > applying your first patch, and I'll look into this second patch. > Thanks > Andy > On Tue, Sep 16, 2008 at 1:38 PM, Paul Batum <[EMAIL PROTECTED]> wrote: >> >> Hi Andy, >> >> This one was pretty straightforward to fix using interfaces. I created >> an IOneToManyPart interface with Cascade, LazyLoad, and Inverse. I >> then implemented it explicitly on OneToManyPart delegating where I >> could to the existing implementation. I then modified the >> AlterOneToManyMap method on Conventions to accept an IOneToManyPart >> interface and modified the delegate it calls accordingly. You should >> now find the 'm' parameter In the original code you supplied is a >> IOneToManyPart and your desired code will compile. >> >> As with your last problem, I've attached the changes in patch format >> so you can see whats different and figure out where you want to go >> next. >> >> Paul Batum >> >> On Fri, Sep 12, 2008 at 11:54 AM, Andrew Stewart >> <[EMAIL PROTECTED]> wrote: >> > Hi James >> > If you take this out of the automapping loop, the same applies for >> > individual mappings. Lets say I want lazy loading on in all my maps but >> > don't want to specify that over and over again. You can specify it in >> > the >> > Visitor.Conventions. and it will apply it when you write your individual >> > mappings. So for example: >> > var model = new PersistenceModel(); >> > model.Conventions.OneToManyConvention = o => >> > o.SetAttribute("lazy", "true"); >> > model.addMappingsFromAssembly("Load Assembly Here"); >> > model.Configure(cfg); >> > That will work at the moment. Automap just sits on top of the normal >> > code. >> > To better phrase my question, I was just wondering if anyone had any >> > idea's >> > on a good way to handle conventions, as at the moment I'm struggling. >> > Cheers >> > Andy >> > >> > On Fri, Sep 12, 2008 at 11:35 AM, James Gregory >> > <[EMAIL PROTECTED]> >> > wrote: >> >> >> >> Off the top of my head, I don't think we can de-generic those classes. >> >> We >> >> need the generic type definitions to create the Expression<T> >> >> parameters. >> >> I'm so out of the loop, but couldn't you have it where the onetomany >> >> convention gets registered into a list that all onetomany's use when >> >> writing >> >> their output, rather than just ones for that exact type? >> >> I need to spend some time getting my head around what you've been doing >> >> with this automapping/conventions stuff. >> >> >> >> On Fri, Sep 12, 2008 at 11:16 AM, Andrew Stewart >> >> <[EMAIL PROTECTED]> wrote: >> >>> >> >>> Hi >> >>> I'm just looking over our convention logic. What I'd like to be able >> >>> to >> >>> do is specify that certain things happen in all my maps, at the moment >> >>> I >> >>> have the following working: >> >>> AutoPersistenceModel >> >>> .MapEntitiesFromAssemblyOf<Company>() >> >>> .Where( t => (t.Namespace.Contains("NamespaceName") >> >>> .ForTypesThatDeriveFrom<Task>( map => map.HasManyToMany<User>( t => >> >>> t.Users ) ) >> >>> .ForTypesThatDeriveFrom<Plot>( map => map.HasManyToMany<Service>( t >> >>> => >> >>> t.Services ) ) >> >>> .WithConvention( c => c.OneToManyConvention = m => >> >>> { >> >>> >> >>> m.SetAttribute("cascade", "all"); >> >>> >> >>> m.SetAttribute("lazy", "true"); >> >>> }) >> >>> .Configure( configuration ); >> >>> As you can see the bit in bold isn't nice at all. But it does work. >> >>> What >> >>> I'd like to achieve and I'm sure the syntax could be improved slightly >> >>> is >> >>> something more like the below: >> >>> AutoPersistenceModel >> >>> .MapEntitiesFromAssemblyOf<Company>() >> >>> .Where( t => (t.Namespace.Contains("NamespaceName") >> >>> .ForTypesThatDeriveFrom<Task>( map => map.HasManyToMany<User>( t => >> >>> t.Users ) ) >> >>> .ForTypesThatDeriveFrom<Plot>( map => map.HasManyToMany<Service>( t >> >>> => >> >>> t.Services ) ) >> >>> .WithConvention( c => c.OneToManyConvention = m => >> >>> { >> >>> >> >>> m.Cascade.All(); >> >>> >> >>> m.LazyLoad(); >> >>> }) >> >>> .Configure( configuration ); >> >>> Now here's my problem at the moment Generic Types. >> >>> Essentially the OneToMany is generic and I want to apply these to all >> >>> different types of entity maps, has anyone got a good idea on how to >> >>> make >> >>> these none generic-able? >> >>> Maybe someone has some preset idea's on how this should be implemented >> >>> who can just overirde this entire conversation, and I'll just head >> >>> down that >> >>> route instead. >> >>> Cheers >> >>> Andy >> >>> >> >>> >> >> >> >> >> >> >> > >> > >> > >> > -- >> > ================= >> > I-nnovate Software - Bespoke Software Development, uk wirral. >> > http://www.i-nnovate.net >> > >> > > >> > >> >> > > > > -- > ================= > I-nnovate Software - Bespoke Software Development, uk wirral. > http://www.i-nnovate.net > > > >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibernate@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---