Hi Nate Well that was harder than expected but I've just committed a fix for that. You can now apply your supertype similar to below:
var autoMapper = AutoPersistenceModel .MapEntitiesFromAssemblyOf<ExampleClass>() .Where(t => t.Namespace == "FluentNHibernate.AutoMap.TestFixtures.SuperTypes") .WithConvention(c => { c.IsBaseType = b => b == typeof(SuperTypes.SuperType); }); Hope that does the trick for you. Andy On Mon, Dec 15, 2008 at 10:47 AM, Andrew Stewart < andrew.stew...@i-nnovate.net> wrote: > Hi > Just to let you know I'm having a few issues with passing tests, but a > patch is on it's way. > > Andy > > > On Mon, Dec 15, 2008 at 9:05 AM, James Gregory <jagregory....@gmail.com>wrote: > >> Also typical, just as I start investigating somebody else answers faster >> ;) >> >> On Mon, Dec 15, 2008 at 9:03 AM, Andrew Stewart < >> andrew.stew...@i-nnovate.net> wrote: >> >>> Hello >>> >>> Someone found that problem then before I got chance to fix it typical :o) >>> Basically inorder to Automap inheritence mappings it assumes that your base >>> object is object if not then it maps it as an inherited joined class. >>> >>> I'll work on a fix and get it over to you. >>> >>> Andy >>> >>> >>> On Mon, Dec 15, 2008 at 4:14 AM, Nate Kohari <nkoh...@gmail.com> wrote: >>> >>>> >>>> Hey guys, >>>> >>>> First off, you rock. I've been using Fluent NHibernate for manual >>>> mappings for awhile now, but I decided to give the >>>> AutoPersistenceModel a shot for a new project. >>>> >>>> Unfortunately, I've run into a problem that's really confusing. I have >>>> an abstract class called Entity that acts as a layer supertype for my >>>> entities. It also implements IEntity, which is the simple contract >>>> that defines what entities can do. >>>> >>>> Here's the code I use to set up my AutoPersistenceModel: >>>> >>>> var conventions = new Conventions >>>> { >>>> GetPrimaryKeyName = type => type.Name + "Id", >>>> GetForeignKeyNameOfParent = type => type.Name + "Id", >>>> GetForeignKeyName = property => property.Name + "Id", >>>> GetTableName = type => Inflector.Pluralize(type.Name), >>>> GetManyToManyTableName = (child, parent) => Inflector.Pluralize >>>> (child.Name) + "To" + Inflector.Pluralize(parent.Name) >>>> }; >>>> >>>> var model = AutoPersistenceModel.MapEntitiesFromAssemblyOf<IEntity>() >>>> .WithConvention(conventions) >>>> .Where(type => typeof(IEntity).IsAssignableFrom(type) && >>>> type.IsClass >>>> && !type.IsAbstract); >>>> >>>> However, my app was giving me errors, saying that "Entities" couldn't >>>> be found. When I dumped the NHibernate mappings to disk to see what >>>> was going on, I realized the AutoPersistenceModel was creating a >>>> single mapping for the Entity class, and making my actual entities >>>> joined-subtypes of the Entity: >>>> >>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default- >>>> lazy="true" assembly="Project.Model" >>>> namespace="Project.Model.Framework"> >>>> <class name="Entity" table="Entities" xmlns="urn:nhibernate- >>>> mapping-2.2"> >>>> <id name="Id" column="IdId" type="Int32"> >>>> <generator class="identity" /> >>>> </id> >>>> <joined-subclass name="Project.Model.Entities.User, Project.Model, >>>> Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"> >>>> ... >>>> </joined-subclass> >>>> (repeated for each of my entities) >>>> </class> >>>> </hibernate-mapping> >>>> >>>> Any ideas? >>>> >>>> >>>> Thanks, >>>> Nate >>>> >>>> >>> >>> >>> -- >>> ================= >>> 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 > -- ================= 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 -~----------~----~----~----~------~----~------~--~---