2009-07-27 191 views
0

我最近负责存储分析数据的新项目。我想给ORM一个镜头;映射似乎并不困难,但这个问题让我烦恼。NHibernate条件映射

该数据库将存储Google Analytics,Quantcast和任何未来分析提供商的数据。我非常感谢需要使用的模式。他们希望它是非常普遍的,这是可能的,直到我存储矩阵,因为我们为每个提供商跟踪不同的。

表布局是这样的:

tblClient - 存储所有客户的网站。
tblProfile - 一个或多个属于客户端。存储配置文件数据,例如此配置文件所使用的提供程序和profile_type。
tblProvider - 存储关于配置文件是GoogleAnalytics,Quantcast还是其他分析配置文件的数据。
tblProfile_Type - 客户端站点的轨道类型。我们将客户网站分为不同的部分。这是在这里跟踪的。

当我需要将配置文件表链接到metrix表时,问题就出现了。在这张图上,我只有谷歌的一个,但会有其他的。我需要它根据配置文件表中的Provider_Type的FK列进行链接。那可能吗?

+0

所以你将有多个metrix表,以及哪一个加入配置文件取决于提供者ID? – anonymous 2009-07-27 14:03:56

+0

这是正确的 – Wix 2009-07-30 16:49:34

回答

0

如果我理解正确的话,你必须多到一个tblAny_Profile和tblAny_Provider之间的关系。 可能通过 tblAny_Provider和tblAny_Profile之间的一对多关系来“颠倒”这种关系? 这样你可以在tblAny_Provider实体中拥有tblAny_Profile实体的许多实例的Bag或List属性。