首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >中间有中间表的表之间的Nhibernate映射

中间有中间表的表之间的Nhibernate映射
EN

Stack Overflow用户
提问于 2011-08-31 19:47:22
回答 1查看 748关注 0票数 1

我有以下代码:

代码语言:javascript
运行
复制
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
}

在数据库中,我有以下表:

代码语言:javascript
运行
复制
Photo: ID, Url, //.. other fields
HotelPhoto:ID, PhotoID, HotelID
Hotel:ID, Location, //..other fields

Hotel <--> HotelPhotoHotelPhoto <--> Photo之间的关系。

我的问题是:我能不能在Hotel类和Hotel表之间配置一个映射,以便在不创建新类Photo的情况下获得HotelPhoto列表?(我想要一个照片列表,而不是用来获取照片的HotelPhoto列表)。

不知何故,我希望在不使用任何HotelPhoto类的情况下从Hotel类访问Photo表,因为我知道表HotelPhoto只包含without和Photo表的ID。

提前谢谢你,塔玛什

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-31 20:35:28

您可以使用many-to-many-mapping,例如:

酒店地图文件,应该包含一些东西。如下所示:

代码语言:javascript
运行
复制
<set name="Photos" table="HotelPhoto">
  <key column="HotelId" />
  <many-to-many class="Photo" column="PhotoId"/>
</set>

对于照片映射文件,可以使用sth。如下所示:

代码语言:javascript
运行
复制
<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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7256488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档