【问题标题】:How can i set a Column in a CompositeId mapping with NHibernate如何使用 NHibernate 在 CompositeId 映射中设置列
【发布时间】:2015-05-07 04:15:14
【问题描述】:

我有一个带有 NHibernate 的 Composite Id 映射,我想在所有这些 Id 中设置一列。有可能吗?

public class MapProduction : ClassMap<Production>
{
    public MapProduction()
    {
        CompositeId()
            .KeyProperty(c => c.ProductionCode)
            .KeyProperty(c => c.Cycle)
            .KeyProperty(c => c.Crop)
            .KeyProperty(c => c.TechnologyLevel);
        Map(c => c.Area).Column("A_ARE");
        Map(c => c.Productivity).Column("P_ARE");
        Map(c => c.syncStatus).ReadOnly();
    }
}

如果我只有一个 id,我可以设置一个 Column,但使用复合我不能。

我该怎么做?

【问题讨论】:

    标签: c# visual-studio-2013 fluent-nhibernate mapping firebird


    【解决方案1】:

    我发现了如何做到这一点。 在 CompositeId 中有一个参数用于添加表引用。

    public class MapProduction : ClassMap<Production>
    {
        public MapProduction()
        {
            CompositeId()
                .KeyProperty(c => c.ProductionCode, "P_PRO")
                .KeyProperty(c => c.Cycle, "C_CIC")
                .KeyProperty(c => c.Crop, "C_CUL")
                .KeyProperty(c => c.TechnologyLevel, "C_NVT");
            Map(c => c.Area).Column("A_ARE");
            Map(c => c.Productivity).Column("P_ARE");
            Map(c => c.syncStatus).ReadOnly();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多