【问题标题】:How to implement custom SQL statements for entity's property in NHibernate如何在 NHibernate 中为实体的属性实现自定义 SQL 语句
【发布时间】:2011-06-27 11:13:15
【问题描述】:

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

在 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")

【问题讨论】:

    标签: sql nhibernate fluent-nhibernate mapping properties


    【解决方案1】:

    正式地说,你可以使用实体持久化的自定义实现来做到这一点。

    但是,在这种情况下,使用<join> 映射似乎更容易。

    【讨论】:

    • 非常感谢。 是一个解决方案。
    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多