如何在Fluent NHibernate中映射IDictionary

我有一个带有IDictionary的课程。

       

正如您所看到的,它使用多对多来使用tOwnedCodedExample表从其表中获取CodedExamples,以查找OwnerClass拥有的内容。

我意识到这是一个非常基本的(并且希望是标准的)映射,但我正在努力,无法找到任何文档,因此非常感谢任何可能的帮助。

非常感谢

斯图

我有一个有效的例子,这应该让你清楚。

类别:

 public class Customer : Entity { public IDictionary FavouriteBooks { get; set; } } public class Book : Entity { public string Name { get; set; } } 

然后是地图:

 HasManyToMany(x => x.FavouriteBooks) .Table("FavouriteBooks") .ParentKeyColumn("CustomerID") .ChildKeyColumn("BookID") .AsMap("Nickname") .Cascade.All(); 

产生的xml:

            

生成的SQL:

 create table "Customer" ( "Id" integer, "FirstName" TEXT, primary key ("Id") ) create table FavouriteBooks ( "CustomerID" INTEGER not null, "BookID" INTEGER not null, "Nickname" TEXT not null, primary key ("CustomerID", "Nickname") ) create table "Book" ( "Id" integer, "Name" TEXT, primary key ("Id") ) 

book.name为键而不是昵称。