如何在C#中实现电影的情节关键词?

时间:2009-12-28 18:36:47

标签: c# .net

因此,我会在每个电影的xml中有一个相当大的情节关键字列表,它们将被输入到我在内存中创建的每个Movie实例中。

但我不知道应该如何实现呢?

IMDb's类似。

我希望这能让我找到所有说过“车祸”或“欺骗”的电影。或“场景结束后积分”情节关键词等。

应该如何定义这种类型?它应该是一个清单吗?我怎样才能最好地实现这一点?在我的头脑中,我可以使用List,然后查看请求关键字是否在每个电影的PlotKeywords列表中。但我觉得有更好的方法可以对此进行建模并使结果更快或更清洁等等。

应该将关键字绘制为字符串还是自定义类型?它们应该如何定义和存储?

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我会将与'tags'类似的关键字视为其他应用程序。这基本上就是他们的归宿。因此,TagMovie

之间存在多对多关系

答案 1 :(得分:1)

如果您要在数据库上完成所有工作,那么plot-keywords将有一个表,电影将有另一个表,并且您将拥有关键字到电影关系的交叉表。这样,当您搜索关键字时,您只需在电影到关键字表中返回包含关键字ID的所有电影的列表。

如果你想实现这个“内存中”,你可以构建一个类似的创建,当你“加载”每个电影(从XML或其他)时,你填充Dictionary<string,List<Movie>>,关键是关键字并且将电影添加到与该字符串关联的列表中。这样,稍后,加载包含关键字的电影列表非常快速和简单。