Search code examples
nhibernatecollectionsfluent-nhibernateautomapping

AutoMapping Custom Collections with FluentNHibernate


I am retrofitting a very large application to use NHibernate as it's data access strategy. Everything is going well with AutoMapping. Luckily when the domain layer was built, we used a code generator. The main issue that I am running into now is that every collection is hidden behind a custom class that derives from List<>. For example

public class League
{
   public OwnerList owners {get;set;}
}
public class OwnerList : AppList<Owner>  { }
public class AppList<T> : List<T>  { }

What kind of Convention do I have to write to get this done?


Solution

  • I don't think you're going to be able to achieve this with a convention. You will have to create an auto mapping override and then do the following:

    mapping.HasMany(l => a.owners).CollectionType<OwnerList>();