Albums と Photos の 2 つのエンティティがあり、その間に多対多の関係があります。そのすべてが正常に動作しています。私が望むのは、関係属性、つまり、album_id と photo_id 以外の追加の属性をマッピングに追加することです。たとえば、写真が追加された日時や、写真がそのアルバムに表示されるかどうかを示す属性です。
public class Photo
{ public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual ICollection<Album> Albums { get; set; }
}
public class Album
{
public virtual int Id {get;set;}
public virtual string Title {get;set;}
public virtual ICollection<Photo> Photos { get; set; }
}
現在のマッピングは次のようになります。
public class PhotosMap : ClassMap<Photo>
{
public PhotosMap()
{
Id(x => x.Id);
Map(x => x.Title);
HasManyToMany<Album>(x => x.Albums).Not.LazyLoad().Table("album_photos");
Table("photos");
}
}
public class AlbumsMap : ClassMap<Album>
{
public AlbumsMap()
{
Id(x => x.Id);
Map(x => x.Title);
HasManyToMany<Photo>(x => x.Photos).Inverse().Not.LazyLoad().Table("album_photos");
Table("album");
}
}