处理多对多关系的最干净的方法是什么?

时间:2018-06-21 14:13:01

标签: c#

我最常使用分配/连接表了解此问题的一些背景知识将会解决此问题...

我正在使用C#MVC Web应用程序,并且具有类a至f。 a类是b到g类的基类,它们具有多个共同的属性。我的问题在于类b和c具有多对多关系以及b / d,e / c和f / d。

我已经研究了继承模型,但实际上并没有找到一个示例,其中子类具有多对多关系或如何最好地解决它们。

看来我的选择是: A)以表/ A类为基础,并带有分配表b / c,b / d,e / c和f / d 要么 B)将Base扔到窗口之外,并拥有表b,c,d,e,f,并且仍然具有分配表b / c,b / d,e / c和f / d

我的问题是我是否缺少一种选择,对此有更好的指导吗?

更新:我正在寻找数据库和应用程序结构中的最佳方法。基础表结构是否需要遵循选项A或B。如果这个问题看起来很傻,很抱歉,但是我一直在努力解决这个问题。

1 个答案:

答案 0 :(得分:1)

为什么要使用继承 ...而不是在此处使用 Composition 。我的意思是您的班级b应该与班级c实例一起构成班级成员。像

public class B
{
  public IEnumerable<C> ListOfC { get; set; }
}