流畅的NHibernate映射在一个表中一对多

时间:2016-01-29 14:18:15

标签: c# nhibernate fluent-nhibernate

我有以下数据库表:

CREATE TABLE RestrictedSystemUsages
(
    WorkflowArtifactIdentifier varchar(512) NOT NULL,
    RestrictedSystemUsageId uniqueidentifier NOT NULL
);

我想将以下类映射到其中:

public class RestrictedSystemUsages
{
    public virtual string WorkflowArtifactIdentifier { get; set; }
    public virtual List<Guid> RestrictedSystemUsageIds { get; set; }
}

但我不知道如何完成流畅的映射。

我尝试应用以下映射但它根本不起作用:

        Id(x => x.WorkflowArtifactIdentifier).GeneratedBy.Assigned();

        HasMany(x => x.RestrictedSystemUsageIds)
            .Table("RestrictedSystemUsageForWorkflow")
            .Element("RestrictedSystemUsageId")
            .AsBag();

有人能指出我对Guid-List的正确映射吗?

1 个答案:

答案 0 :(得分:0)

我需要以下映射:

Id(x => x.WorkflowArtifactIdentifier).GeneratedBy.Assigned();

HasMany(x => x.RestrictedSystemUsageIds)
    .Element("RestrictedSystemUsageId")
    .KeyColumn("WorkflowArtifactIdentifier")
    .Table("RestrictedSystemUsageForWorkflow")
    .AsSet();

有一个缺陷,它会添加一个空的RestrictedSystemUsageId列。