Let's suppose we have this classes

public class Person
{
    public string FirstName {get; set; }
    public string LastName {get; set;}
    public IList Emails {get; set;}
}


and the database model was like the following:


To map these two tables to the above class, we use the following mapping using Fluent NHibernate:


public class PersonMapping : SubclassMap
{
    public PersonMapping()
    {
        Table("Person");
        Id("PersonId");
        Map(x => x.FirstName);
        Map(x => x.LastName);
        HasMany(x => x.Emails).Table("PersonEmail")
            .Element("EmailAddress").KeyColumn("PersonId")
            .Fetch.Select();
    }
}


Explanation:
In order to map from a table to a list of string, we use the "Element"
Element: tells NHibernate to map from a column name to the mapped property, which is a list of strings.