小编Mat*_*llo的帖子

使用Fluent nHibernate映射到多个表

这是我的情况..
假设您有以下模型实体,它们自己代表单个表:

Movies [Movie_Id,Title,Rating,..]
Actors [Actor_Id,FirstName,LastName,..]
Director [Director_Id,FirstName,LastName ,..]

和另一个名为"Recommendations"的实体/表,它代表网站内用户之间的建议.这个想法是推荐可以是任何类型,即推荐演员或推荐电影的人.基本上,表格看起来应该是这样的:

建议书 [Recommendation_Id,Object_Id,Object_Type,..]

这就是我坚持的内容.如何在nHibernate中使用Fluent映射这些关系?我的意思是..在映射时,我不能指定Type(与哪个表相关)'因为它是在运行时确定的,但我不能仅仅依赖于Id'因为它本身并不意味着它属于哪个表.
例如,想象一下在Recommendations表上的这条记录:

Recommendation_Id - Object_Id - Object_Type
83001--4010123 ---"M"

基本上我存储一个字符标识符(在本例中为"M"代表表"Movies")知道Object_Id属于哪个表.我不能只在没有Object_Type的情况下存储Object_Id ..

作为最后的评论,我想补充一点,我已经看到了所有每个类的表,每个子类的表,每个具体的表类示例,但我相信这些都不适合这种情况,因为Movies_Id,Actors_Id,Directors_Id,......在它们之间都是不同的,所以Recommendations_Id也是如此.我的意思是,这里没有基类 - 子类继承,它们根本不共享Id.

我希望我能说清楚.提前致谢.

mapping nhibernate fluent-nhibernate

8
推荐指数
1
解决办法
2907
查看次数

标签 统计

fluent-nhibernate ×1

mapping ×1

nhibernate ×1