Hi James Yeah that's correct, I think in theory you could even stick that helper method in a loop for all classes in namespace or assembly.
Andy On Fri, Jan 9, 2009 at 12:13 PM, James Gregory <jagregory....@gmail.com>wrote: > Andrew am I correct in thinking this... > > modeloPersistencia.ForTypesThatDeriveFrom<EntidadeBase>(eb => > eb.Version(d => d.Versao) > .TheColumnNameIs("Versao") > .SetAttributes(new Attributes { > {"type", "ModeloOO.NH.UserTypeTimestamp,ModeloOO.NH"}, > {"unsaved-value", "null"}, > {"generated", "always"}})); > > Should be replaced by one for each entity that has the version column? > > modeloPersistencia.ForTypesThatDeriveFrom<Entity1>(eb => > eb.Version(d => d.Versao) > .TheColumnNameIs("Versao") > .SetAttributes(new Attributes { > {"type", "ModeloOO.NH. > UserTypeTimestamp,ModeloOO.NH"}, > {"unsaved-value", "null"}, > {"generated", "always"}})); > > modeloPersistencia.ForTypesThatDeriveFrom<Entity2>(eb => > eb.Version(d => d.Versao) > .TheColumnNameIs("Versao") > .SetAttributes(new Attributes { > {"type", "ModeloOO.NH. > UserTypeTimestamp,ModeloOO.NH"}, > {"unsaved-value", "null"}, > {"generated", "always"}})); > > > If I'm correct in that assumption... Luis, you could probably wrap this up > in a little helper method for the time being. Something along the lines of: > > public void ConfigureVersion<TEntity>(PersistenceModel model) > { > model.ForTypesThatDeriveFrom<TEntity>(eb => > eb.Version(d => d.Versao) > .TheColumnNameIs("Versao") > .SetAttributes(new Attributes { > {"type", "ModeloOO.NH.UserTypeTimestamp,ModeloOO.NH"}, > {"unsaved-value", "null"}, > {"generated", "always"}}));} > > Then in your auto mapping do this: > > // ... normal auto mapping stuff ... > ConfigureVersion<Entity1>(modeloPersistencia); > ConfigureVersion<Entity2>(modeloPersistencia); > > On Fri, Jan 9, 2009 at 12:04 PM, Andrew Stewart < > andrew.stew...@i-nnovate.net> wrote: > >> Hi james >> Thanks for looking at this for me. Yeah that makes sense as to why it's >> producing no xml. Luis are your problems solved now? Unfortunalty there is >> no automatic way to map your version column at this time, you'll have to >> take your manual mapping and apply it in the FromDerivedFromClass for each >> class in your solution. >> >> I think that should sort your issue out. >> >> Andy >> >> On Fri, Jan 9, 2009 at 11:48 AM, James Gregory >> <jagregory....@gmail.com>wrote: >> >>> It's because with the AutoMapping, no mappings are actually generated >>> until Configure is called. >>> As for your other issue, I haven't forgotten about it I'm just not near a >>> machine I can debug from. Hopefully tonight or sometime over the weekend >>> I'll get a chance. >>> >>> >>> On Fri, Jan 9, 2009 at 11:45 AM, Luis Abreu <lab...@gmail.com> wrote: >>> >>>> Ok, that makes sense. >>>> >>>> >>>> >>>> Thanks,. >>>> >>>> >>>> >>>> --- >>>> >>>> Luis Abreu >>>> >>>> >>>> >>>> *From:* fluent-nhibernate@googlegroups.com [mailto: >>>> fluent-nhibern...@googlegroups.com] *On Behalf Of *James Gregory >>>> *Sent:* sexta-feira, 9 de Janeiro de 2009 09:39 >>>> >>>> *To:* fluent-nhibernate@googlegroups.com >>>> *Subject:* [fluent-nhib] Re: question on auto mapping >>>> >>>> >>>> >>>> You're missing a call to Configure. Before calling >>>> modeloPersistencia.WriteMappingsTo(@"d:\"); call >>>> modeloPersistencia.Configure(nhibernateConfig); >>>> >>>> >>>> >>>> On Thu, Jan 8, 2009 at 9:57 PM, Luis Abreu <lab...@gmail.com> wrote: >>>> >>>> Btw James, one more question: >>>> >>>> >>>> >>>> When using the auto persistence, shouldn't I be able to save the xml to >>>> disk by using the previous code? It's that I get nothing and stopping the >>>> debugger there I see 0 mappings on the persistencemodel >>>> >>>> >>>> >>>> Thanks. >>>> >>>> >>>> >>>> >>>> >>>> --- >>>> >>>> Luis Abreu >>>> >>>> >>>> >>>> *From:* fluent-nhibernate@googlegroups.com [mailto: >>>> fluent-nhibern...@googlegroups.com] *On Behalf Of *James Gregory >>>> *Sent:* quinta-feira, 8 de Janeiro de 2009 16:27 >>>> >>>> >>>> *To:* fluent-nhibernate@googlegroups.com >>>> *Subject:* [fluent-nhib] Re: question on auto mapping >>>> >>>> >>>> >>>> Hello Luis, >>>> >>>> >>>> >>>> I'm away from a machine with Visual Studio on right now, so I don't know >>>> how much help I can be, but lets try to work through your problem. >>>> >>>> >>>> >>>> Firstly, why is it that you're using a IUserType for your version? What >>>> is the type that your version property has in your entity? I ask that >>>> because Fluent NHibernate has a few options for mapping Versions and >>>> Timestamps. >>>> >>>> - If you call your property Timestamp and give it a type of TimeSpan, >>>> Fluent NHibernate will automatically map that to a Timestamp. >>>> - If you call your property Version, and give it a type of int or >>>> long, then it will map it as a Version. >>>> >>>> Are any of those possible options for you? >>>> >>>> >>>> >>>> On Thu, Jan 8, 2009 at 3:40 PM, Luis Abreu <lab...@gmail.com> wrote: >>>> >>>> >>>> Btw, one more stupid question. If I have this: >>>> >>>> >>>> var modeloPersistencia = >>>> AutoPersistenceModel.MapEntitiesFromAssemblyOf<Disciplina>() >>>> .Where( >>>> type => type == typeof (Disciplina) >>>> ) //comecar com disciplina >>>> .WithConvention(convention => >>>> { >>>> convention.DefaultLazyLoad = >>>> false; >>>> convention.FindIdentity = field >>>> => >>>> field.Name == "Id"; >>>> convention.GetTableName = type => >>>> String.Concat(type.Name, "s"); >>>> convention.GetVersionColumnName = >>>> type => "Versao"; >>>> >>>> convention.GetPrimaryKeyNameFromType >>>> = type => String.Concat("Id", type.Name); >>>> convention.IsBaseType = type => >>>> type >>>> == typeof (EntidadeBase); >>>> }); >>>> >>>> modeloPersistencia.WriteMappingsTo(@"d:\"); >>>> >>>> Shouldn't I get the xml mapping file for class Disciplina on d:? I've >>>> tried >>>> and I get nothing there (interestingly, if I add the >>>> modeloPersistencia.ForTypesThatDeriveFro<EntidadeBase> method call then >>>> I do >>>> get the xml for EntidadeBase only (which I don't want)... >>>> >>>> Thanks. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> -- >> ================= >> 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 fluent-nhibernate+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---