如何在NHibernate中为实体属性实现自定义SQL语句
问题描述:
在应用程序中,我有一堆实体类NHibernate映射与两个公共属性{GUID ID,字符串标记}(它通过抽象基类实现)。如何在NHibernate中为实体属性实现自定义SQL语句
在DB有与公共列每个实体表:
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")
答
从形式上来讲,你可以使用实体留存的自定义实现这样做。
但是,在这种情况下,使用<join>
映射似乎更容易。
非常感谢。是一个解决方案。 –
Michael
2011-02-15 13:41:21