NHIbernate:将实体中的多行映射到单个对象表示

时间:2010-12-22 19:36:33

标签: nhibernate nhibernate-mapping

假设我有以下架构:

表:显示   showing_id   movie_id   theater_id   SHOW_DATE   SHOW_TIME

表:电影   movie_id   标题   ...

表:剧院   theater_id   名称   ...

是否可以创建一个导致以下对象层次结构的NHibernate映射?

戏剧    - 电影      - 每个展示组成的展示清单        - 日期        - Times(以逗号分隔的日期字符串)

一些示例数据:

showing_id  movie_id    theater_id  show_date   show_time
-------------------------------------------------------------------------
1       1       1       2010-12-23  13:25
2       1       1       2010-12-23  15:25
3       1       1       2010-12-23  17:25
4       1       1       2010-12-23  19:25
5       1       1       2010-12-24  12:00
6       1       1       2010-12-24  14:45

对于电影ID 1,我希望它映射到显示对象的列表,包括: 显示1:日期= 2010-12-23,放映时间:13:25,15:25,17:25,19:25 显示2:日期= 2010-12-24,放映时间:12:00,14:45

我假设我需要使用标准的NHibernate映射约定来设置映射,然后将原始数据按到我正在寻找的结构中。我想我会仔细检查并确保没有我错过的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

排序。我会用额外的数据(显示)来模拟这种多对多的关系。这被建模为两个一对多的关系。课程将是:

Theater { TheaterId, Name, ..., IList<Showing> Showings }
Showing { ShowingId, Time, ..., Theater, Movie }
Movie { MovieId, Title, ..., IList<Showing> }