В приложении у меня есть набор сопоставлений NHibernate класса сущностей с двумя общими свойствами: {GUID Id, string Tag} (реализован через абстрактный базовый класс).
В БД есть таблицы для каждой сущностис общими столбцами:
dbo.[EntityName] { uniqueidentifier Id, ... etc. }
Также есть таблица, в которой хранится информация о некотором глобальном теге для каждой сущности:
dbo.EntityTag { uniqueidentifier Id, nvarchar Tag }
Эта таблица строго необходима, и ее обязательно нужно иметь вDb.
Как реализовать собственную логику SQL для обновления, выбора и вставки значений в свойство Tag?
Например, в FluentNhibernate Было бы полезно иметь что-то вроде
Map(x => x.Tag)
.Insert("INSERT dbo.EntityTag VALUES({Id},{Tag})")
.Update("UPDATE dbo.EntityTag SET Tag={Tag} WHERE Id = {ID}")
.SELECT("...")
.Delete("... etc")