如何在Fluent NHibernate中设置外键列的数据类型?

时间:2016-04-13 08:44:41

标签: c# oracle nhibernate fluent-nhibernate foreign-key-relationship

我使用Fluent NHibernate映射创建数据库。在我的映射中,我有以下代码(例如:Case - > Documents):

public class CaseMap : ClassMap<Case>
{
    public CaseMap()
    {
        Table("CASES");

        Id(x => x.Id).GeneratedBy.Custom<EntityGuidIdGenerator>().Not.Nullable().Column("ID").CustomSqlType("VARCHAR2(32 BYTE)");

        HasMany<Document>(x => x.Documents)
            .LazyLoad()
            .KeyColumn("CASE_ID")
            .Not.Inverse()
            //.Not.KeyNullable()
            .Not.KeyUpdate()
            .Cascade.AllDeleteOrphan();


    }
}

public class DocumentMap : ClassMap<Document>
{
    public DocumentMap()
    {
        Table("DOCUMENTS");
        LazyLoad();
        Id(x => x.Id).GeneratedBy.Custom<EntityGuidIdGenerator>().Not.Nullable().Column("ID").CustomSqlType("VARCHAR2(32 BYTE)");

        References(x => x.Case).ForeignKey("FK_CASE_DOCUMENT");
    }
}

如示例所示,存在一对多关系。创建数据库后,这些表没有 FK 。我手动尝试,但不能,因为创建的ForeignKey列类型是NVARCHAR2,所以我得到错误。 如何在NHibernate中为ForeignKey列设置数据类型?

0 个答案:

没有答案