为什么Fluent NHibernate会生成不一致的列名

为什么Fluent NHibernate会生成不一致的列名,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我正在使用Fluent Mapping进行一个项目,该项目具有以下ClassMap: public class PricingMap : ClassMap<Pricing> { public PricingMap() { Init(); } private void Init() {

我正在使用Fluent Mapping进行一个项目,该项目具有以下
ClassMap

    public class PricingMap : ClassMap<Pricing>
    {
            public PricingMap()
            {
                Init();
            }

            private void Init()
            {
                Table("distributership_pricing");

                ...

                References(x => x.Product);
                References(x => x.Distributor);
            }
 }
公共类PricingMap:ClassMap
{
公共PricingMap()
{
Init();
}
私有void Init()
{
表(“经销商定价”);
...
参考文献(x=>x.Product);
参考文献(x=>x.0);
}
}

对于引用,为什么它为产品关系生成
ProductId
,为分销商生成
Distributor\u Id

没有-我怀疑你的一个类映射中有一个bug;FluentNH将使用_Id后缀,除非被某个类映射或自定义命名约定显式覆盖。

您的产品和分发者类是什么样子的?这些类的类映射?类映射和类源-其中几乎肯定有某种东西可以解释FluentNH生成特殊列的原因名字,如果你能和我们分享的话。。。我在产品类映射上有一个HasMany(),它引用了一个单独的表,其中一个KeyColumn被指定为“ProductId”。@Dylan创建一个带有文本“仔细检查所有类映射”的答案。然后我将其标记为答案lol。