Hmm. Update your Accept method to do this:
return !target.HasAttribute("not-null");That means it'll only apply it to any classes that haven't already had it set. On Wed, Mar 25, 2009 at 3:13 PM, Anders <[email protected]> wrote: > > Thanks for the hint in the right direction, however it seems like the > convention is overriding my "manual" overrides. > > > public class NotNullPropertyConvention : IPropertyConvention > { > public bool Accept(IProperty target) > { > return true; > } > public void Apply(IProperty target) > { > target.Not.Nullable(); > } > } > > .ConventionDiscovery.Add<NotNullPropertyConvention>() > > .ForTypesThatDeriveFrom<Participant>(map => > { > map.Map(x => x.BarCode).Nullable(); > map.Map(x => x.Country).Nullable(); > map.Map(x => x.Title).Nullable(); > }) > > The Participant-table gets not null on all properties including > BarCode, Country and Title. > > This feels odd, or am I doing something strange? > > On Mar 25, 3:52 pm, James Gregory <[email protected]> wrote: > > You want a property > > convention<http://wiki.fluentnhibernate.org/show/Conventions>to set > > everything to null, then you have a few options for how to handle the > > not null ones. > > something like: > > > > public class NullPropertyConvention : IPropertyConvention > > { > > public bool Accept(IProperty target) > > { > > return true; > > } > > > > public void Apply(IProperty target) > > { > > target.Nullable(); > > } > > > > } > > > > then for the not nulls, you can either override them on the > > AutoPersistenceModel< > http://wiki.fluentnhibernate.org/show/AutoMappingAlteringEntities> > > : > > > > .ForTypesThatDeriveFrom<MyEntity>(m => > > m.Map(x => x.MyProperty) > > .Not.Nullable()); > > > > or you can use an automapping > > override<http://wiki.fluentnhibernate.org/show/AutoMappingOverrides> > > : > > > > public class PersonMappingOverride : IAutoMappingOverride<Person> > > { > > public void Override(AutoMap<Person> mapping) > > { > > mapping.Map(x => x.MyProperty) > > .Not.Nullable(); > > } > > > > } > > On Wed, Mar 25, 2009 at 2:33 PM, Anders <[email protected]> wrote: > > > > > Hi, > > > > > I want almost all of my properties to be "non-null", and instead > > > override some specific properties that can be null. How do I do this > > > using AutoPersistenceModel? > > > > > Thanks > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" 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/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---
