NHibernate按代码映射 - 复合唯一索引

时间:2013-09-02 09:53:22

标签: c# nhibernate orm unique-constraint mapping-by-code

如何在类的3个属性上创建复合UNIQUE约束? 它需要允许NULL作为合法值。

1 个答案:

答案 0 :(得分:3)

这应该是解决这个问题的方法之一..

        mapper.Class<MyClass>(ca =>
            {
                ca.Property(x => x.Property1, map => map.UniqueKey("UQ_ComposedUniqueKey"));
                ca.ManyToOne(x => x.FKField1, map => { map.UniqueKey("UQ_ComposedUniqueKey"); map.NotNullable(false); });
            });

您可以在一个唯一键中组合多个属性或FK。