I have been working on providing a user defined domain object to my C# ASP.NET nHibernate project. I have been undecided on which approach to take. One difficulty is that the the mapping files I am using are embedded so they cannot be changed. After some research I had been considering two options. Using a one-to-many look up table which contained all the custom attributes or using a dynamic-component mapping.