Sql 如何为实体';NHibernate中的s属性

Sql 如何为实体';NHibernate中的s属性,sql,nhibernate,fluent-nhibernate,mapping,properties,Sql,Nhibernate,Fluent Nhibernate,Mapping,Properties,在应用程序中,我有一组实体类NHibernate映射,它们具有两个公共属性:{GUID Id,string Tag}(它是通过抽象基类实现的) 在DB中,每个实体都有表,其中包含公共列: dbo.[EntityName] { uniqueidentifier Id, ... etc. } 还有一个表,用于存储关于每个实体的某些全局标记的信息: dbo.EntityTag { uniqueidentifier Id, nvarchar Tag } 此表是严格需要的,必须在Db中使用 如何实

在应用程序中,我有一组实体类NHibernate映射,它们具有两个公共属性:{GUID Id,string Tag}(它是通过抽象基类实现的)

在DB中,每个实体都有表,其中包含公共列:

dbo.[EntityName] { uniqueidentifier Id,  ... etc. }
还有一个表,用于存储关于每个实体的某些全局标记的信息:

dbo.EntityTag { uniqueidentifier Id,  nvarchar Tag }
此表是严格需要的,必须在Db中使用

如何实现自定义SQL逻辑来更新、选择和插入标记属性中的值

例如,在FluentNhibernate中,有如下内容会有所帮助


正式地说,您可以使用实体持久化器的定制实现来实现

然而,在这种情况下,使用
映射似乎比使用x更容易。这是一个解决办法。
Map(x => x.Tag)
    .Insert("INSERT dbo.EntityTag VALUES({Id},{Tag})")
    .Update("UPDATE dbo.EntityTag SET Tag={Tag} WHERE Id = {ID}")
    .SELECT("...")
    .Delete("... etc")