【发布时间】:2013-07-23 01:31:43
【问题描述】:
我正在设计一个 C# ASP.Net Web 应用程序,该应用程序使用许多常见功能,而处理这些功能的正确方法似乎是通过继承。我计划创建一个基类(Person)并在 Employee 和 Vendor 等其他类中继承它,然后依次继承 Employee 和 Manager 等。这样我就不必定义常见的属性,如 FirstName、LastName、电话号码等。
问题的第二部分是这样的:如果我使用继承并使用Entity Framework的CodeFirst实体,他们会理解继承吗?数据将如何存储在表中?每个表是否都有 FirstName 和 LastName 列,或者 EF 是否足够聪明以使它们成为公共表?
我真的希望有一个真正的面向对象程序员可以帮助我解决这个问题。我得到了很多相互矛盾的信息,我需要有 EF 项目实际经验的人给我一些指导。我理解继承对吗?如果没有,我做错了什么?任何帮助表示赞赏。
谢谢,
伯特
【问题讨论】:
-
对于数据库选项,您提到的两个选项都是有效的,但有些人更喜欢在许多表中重复公共数据,其他人会创建一个表来保存公共数据和与之相关的其他表。
标签: c# asp.net oop inheritance code-first