【问题标题】:FluentNHibernate Formula Mapping C#FluentNHibernate 公式映射 C#
【发布时间】:2015-09-09 11:15:54
【问题描述】:

有没有办法声明一个传递公式的映射,该公式仅适用于特定语句(在我的情况下为SELECT

问题是我有类似的东西

Map(x => x.Id).Formula("SUBSTRING(id, 0, 2)");

但是当我尝试为这个特定实体运行插入时,它会导致错误,因为它也使用Formula 作为插入语句。

【问题讨论】:

    标签: c# nhibernate fluent-nhibernate mapping substring


    【解决方案1】:

    我们必须将此类列设为只读

    Map(x => x.Id)
        .Formula("SUBSTRING(id, 0, 2)")
        .ReadOnly();
    

    或更像原版insert="false" udpate="false"

    Map(x => x.Id)
        .Formula("SUBSTRING(id, 0, 2)")
        .Not.Update()
        .Not.Insert();
    

    【讨论】:

    • 我没有为我们工作,因为我们还必须能够将该列用于插入语句(这不是身份字段)
    • 公式将永远可插入。它只是一个阅读专栏。我会建议...映射它两次。一次仅插入...作为列(“id”)...这将在实体创建期间插入。稍后您可以使用公式进行阅读。那应该行得通。但正如我所说“公式本身将永远不可插入
    猜你喜欢
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-01-21
    • 2014-10-03
    • 2010-11-27
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多