Нужна помощь с картографированием NHibernate / Fluent NHibernate

Допустим, у вас есть следующая структура таблицы:

                  ==============================  
                  | Case                       |
                  ==============================
                  | Id           | int         |
                  | ReferralType | varchar(10) |
        +---------| ReferralId   | int         |---------+
        |         ==============================         |
        |                      |                         |
        |                      |                         |
======================  ======================  ======================        
| SourceA            |  | SourceB            |  | SourceC            |
======================  ======================  ======================
| Id   | int         |  | Id   | int         |  | Id   | int         |
| Name | varchar(50) |  | Name | varchar(50) |  | Name | varchar(50) |
======================  ======================  ======================

На основе ReferralType ReferralId содержит идентификатор для SourceA, SourceB или SourceC

Я пытаюсь выяснить, как отобразить это с помощью Fluent NHibernate или просто NHibernate в объектную модель. Я пробовал кучу разных вещей, но у меня ничего не получилось. Есть идеи?

Объектная модель может выглядеть примерно так:

public class Case
{ 
  public int Id { get; set; }
  public Referral { get; set; }
}

public class Referral
{
  public string Type { get; set; }
  public int Id { get; set; }
  public string Name { get; set; }
}

Ответы на вопрос(2)

Ваш ответ на вопрос