【发布时间】:2010-04-09 12:37:49
【问题描述】:
在尝试使用 Entity Framework 实现简单的多态关系时,我需要一些帮助。
我想实现的关系示例:
评论表格
- ItemType(“视频”、“用户”)
- 物品ID
- 身体
视频有很多评论
用户有很多评论
不知道最好的方法,我来自 Ruby on Rails 的思维方式。
【问题讨论】:
-
多态性(ItemType?)在哪里?
-
多态是指 Video 和 User 共享一个有 Comments 的基类吗?
-
我相信他的意思是关系本身是多态的,它是视频->评论或用户->评论。参见例如wiki.rubyonrails.org/howtos/db-relationships/polymorphic 所以数据库中有两个单独的FK 关系,但您需要一个接口。例如 IHasComments,您可以将用户或视频投射到 IHasComments,然后访问 .Comments 以获取它们。继承是一个单独的问题 - 您可以使用或不使用 User 和 Video 之间的继承关系以及某些常见的父类型来执行此操作。
标签: c# asp.net entity-framework polymorphism