Fluent nhibernate FluentNHibernate有许多语法

Fluent nhibernate FluentNHibernate有许多语法,fluent-nhibernate,Fluent Nhibernate,我很难找到正确的语法来映射与FluentNHibernate的多对多关系。我已经在某处和其他地方查看了其他几个问题,但没有看到任何具有相同表结构的问题。希望比我更了解FNH的人能帮我解决这个问题。以下是我的表格结构: CREATE TABLE [dbo].[WorkItems]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [CategoryId] [bigint] NOT NULL, [DateTime] [datetime] NOT N

我很难找到正确的语法来映射与FluentNHibernate的多对多关系。我已经在某处和其他地方查看了其他几个问题,但没有看到任何具有相同表结构的问题。希望比我更了解FNH的人能帮我解决这个问题。以下是我的表格结构:

CREATE TABLE [dbo].[WorkItems](
    [Id] [bigint] IDENTITY(1,1) NOT NULL,
    [CategoryId] [bigint] NOT NULL,
    [DateTime] [datetime] NOT NULL,
    [Details] [nvarchar](2000) NULL,
    [Duration] [int] NOT NULL,
    [DurationInterval] [nvarchar](10) NOT NULL,
    [Summary] [nvarchar](150) NOT NULL,
    [UserId] [bigint] NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)

CREATE TABLE [dbo].[Tags](
    [Id] [bigint] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)

CREATE TABLE [dbo].[TagWorkItems](
    [TagId] [bigint] NOT NULL,
    [WorkItemId] [bigint] NOT NULL,
 CONSTRAINT [TagId_WorkItemId_PK] PRIMARY KEY CLUSTERED 
(
    [TagId] ASC,
    [WorkItemId] ASC
)

TagWorkItems表中的TagId和WorkItemId都是返回父表的外键。对于m2m关系,这是一个非常直接的连接表设置。我的标记类具有ICollection类型的属性,而我的WorkItem类具有ICollection类型的属性。我似乎不知道如何设置这些属性的映射。如有任何建议,将不胜感激。谢谢。

这里有一个工作项映射可能会说什么的示例;只读位取决于如何维护关系:

HasManyToMany(x => x.Tags)
            .Table("TagWorkItems")
            .ParentKeyColumn("WorkItemId")
            .ChildKeyColumn("TagId")
            .AsSet()
            .ReadOnly();

这似乎给了我我所需要的和工作。非常感谢。非常感谢。