2

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?

ScottBelchak
  • 1,417
  • 2
  • 10
  • 6
  • "Luckily when the domain layer was built, we used a code generator" - I fail to see how that would be a good thing. Exposing concrete list types is a big design mistake. – Diego Mijelshon May 24 '10 at 23:22
  • It's a good thing that there was uniformity between the domain and the database, so a direct domain mapping is easy. – ScottBelchak May 25 '10 at 14:38

1 Answers1

2

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>();
s1mm0t
  • 6,035
  • 4
  • 38
  • 45