Ошибка при маппинге свойства интерфейсного типа

Есть класс со свойством:
public class Bar
{
    //...
    [Column(CanBeNull = true, DbType = "uniqueidentifier")]
    [MemberMapper(typeof(IFooMapper))]
    public IFoo Foo
    {
        get { return foo; }
        set { foo = value; }
    }
    //...
}

IFoo — это сущность (entity), которая хранится в другом месте, независимо от Bar. IFooMapper отвечает за преобразование экземпляра IFoo в id и обратно.

При попытке сохранить экземпляр Bar в БД в процессе маппинга BLToolkit падает.

Предложенный код решает проблему.