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

本文关键字:一个 一对多 映射 NHibernate | 更新日期: 2023-09-27 18:32:35

我有以下数据库表:

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();

任何人都可以指出我正确的指南列表映射吗?

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

我只需要以下映射:

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

有一个缺陷,它将添加一个带有空的 RestrictedSystemUsageId 列的额外行。