我有以下代码:
public class Hotel
{
  public int ID
  {  
    get;set
  } 
  public IList<Photo> Photos
  {
    get;set;
  }
  //...other code
}
public class Photo
{
  public int ID
  {
     get;set;
  }
  //...other fields
}在数据库中,我有以下表:
Photo: ID, Url, //.. other fields
HotelPhoto:ID, PhotoID, HotelID
Hotel:ID, Location, //..other fieldsHotel <--> HotelPhoto和HotelPhoto <--> Photo之间的关系。
我的问题是:我能不能在Hotel类和Hotel表之间配置一个映射,以便在不创建新类Photo的情况下获得HotelPhoto列表?(我想要一个照片列表,而不是用来获取照片的HotelPhoto列表)。
不知何故,我希望在不使用任何HotelPhoto类的情况下从Hotel类访问Photo表,因为我知道表HotelPhoto只包含without和Photo表的ID。
提前谢谢你,塔玛什
发布于 2011-08-31 20:35:28
您可以使用many-to-many-mapping,例如:
酒店地图文件,应该包含一些东西。如下所示:
<set name="Photos" table="HotelPhoto">
  <key column="HotelId" />
  <many-to-many class="Photo" column="PhotoId"/>
</set>对于照片映射文件,可以使用sth。如下所示:
<set name="Hotels" table="HotelPhoto">
  <key column="PhotoId" />
  <many-to-many class="Hotel" column="HotelId"/>
</set>请注意,该映射没有经过测试,并且假设Photo有一个酒店列表(否则您的db-schema对我来说就没有意义了)。
你可以在这里找到文档。http://nhibernate.info/doc/nh/en/index.html#collections-ofvalues
https://stackoverflow.com/questions/7256488
复制相似问题