繁体   English   中英

使用流畅的Nhibernate将列映射到表之间没有外键约束的表

[英]Mapping a column to a table which has no foreign key constraint between them using fluent Nhibernate

我有2张桌子

CREATE TABLE [dbo].[TariffConfig]
(
     PKey INT IDENTITY NOT NULL,
     TariffDeterminatorCd INT NOT NULL
)

CREATE TABLE [dbo].[TariffDeterminator]
(
     PKey INT IDENTITY NOT NULL,
     Tariff INT NOT NULL
)

TariffDeterminatorCd引用了TariffDeterminator中的一行(与TariffDeterminator中的PKey相等),但它们之间没有外键约束。

他们的实体类是这样的

public class TariffDeterminator : EntityBase
{       
    public virtual Int32 Age { get; set; }

    public virtual Int32 Tariff { get; set; }
}

public class TariffConfig : EntityBase
{
    public virtual TariffDeterminator Determinator{ get; set; }
}

我有一个这样的TariffDeterminator

public class TariffDeterminatorMap : EntityBaseMap<TariffDeterminator>
{       
    public TariffDeterminatorMap ()
        : base()
    {
        this.Initialize("TariffDeterminator");
        Map(x => x.Age).Not.Nullable();
        Map(x => x.Tariff).Not.Nullable();
    }
}

有人可以帮我为TariffConfig实体编写Fluent Nhibernate映射吗?

我从没用过FluentNHibernate,但它应该看起来像这样

public class TariffConfigMap : EntityBaseMap<TariffConfig>
{

    public TariffConfigMap() : base()
    {
       this.Initialize("TariffConfig");
       References(prop => prop.Determinator)
            .ColumnName("TariffDeterminatorCd");           
    }

}

我看不到映射在您的实体类中的主键,我假设这些属性是在Initialize()期间继承和映射的。

通常,您不需要外键约束来映射实体之间的关系,只需要外键本身即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM