Есть 2 класса: продукт и изображение.Карта Композиция в Fluent NHibernate
- В продукте имеется только одно изображение.
- No orphan Изображения могут существовать.
Это представляет композицию отношений в UML, что означает:
Assigning Product.Image а newImage результаты в следующем
- удалить старое изображение;
- Вставить новое изображение;
- ссылка новое изображение к товару.
Теперь мне нужно сопоставить его с таблицами СУБД (мета-код):
Product (Id primary key, ImageId int references Image(id))
Image(Id primary key, Content)
Вопрос заключается в том, чтобы сделать это с помощью Fluent NHibernate.
ОБРАТИТЕ ВНИМАНИЕ:
productMap.References(x => x.Image).Cascade.All()
не применяется - он не удаляет сироту изображение.
Также NH НЕ ПОДДЕРЖИВАЕТ ВСЕ-исключающую сироту для многих-к-одному, один к одному.
Возможно, мне нужно что-то вроде соединения с компонентом ...
BUT IN FLUENT NH.
UPDATE: Джеймс в FNH групп пользователей предлагается следующий синтаксис:
WithTable("other table", m =>
{
m.Component(...);
});
но не повезло с ней: NotSupportedException: Устаревшее
Он должен работать в v1() из Предстоящие FNH.
Да. Мне, вероятно, нужен компонент, но он должен быть в отдельной таблице. Так что мне, вероятно, нужно смешать * join * с * компонентом *. Не вижу, как я могу это сделать, используя FNH. –