使用 ASPNetUsers table 创建两个连接的 table 或扩展 ASPNETUsers table?

Create two joined tables with ASPNetUsers table or to extend the ASPNETUsers table?

该应用程序应该有客户和卖家以及 goods/items 的另一个 table, 第一种情况是扩展 AspNetUsers 并使其可用于客户和卖家,并通过添加到 AspNetUsers 的一个字段来区分它们(可以将其命名为 "PrsnType" 作为示例), 本教程展示了如何扩展 ApplicationUser class 以反映 AspNetUsers tbl: http://www.itorian.com/2013/11/customize-users-profile-in-aspnet.html

或者另一种情况是根据本教程的内容,为客户创建两个 tables,为卖家创建另一个,然后通过 ID 将它们与 AspNetUsers table 加入: http://www.itorian.com/2013/11/customizing-users-profile-to-add-new.html

我喜欢第一种情况,但我害怕遇到数据库关系问题或尝试通过 EF 访问 related/joined 字段时遇到问题。

请告诉我最好的解决方案是什么,为什么?

在有新的好答案之前,我会分享我过去48小时的经验: 根据对 internet 的一些研究,在我尝试了上述两种解决方案后,最好为客户和卖家设置不同的 table,并让每个 table 加入 ApplicationUser(1 到1), 因为如果你使用第一个解决方案 (依靠 AspNetUsers table 添加一些字段到它 (或 ApplicationUser) 并添加字段 "typeID" 来区分卖家和客户) 你会遇到关于tables 关系特别是在 EF 中加入 ApplicationUser 与其他 tables。

此外,请查看这篇新的好文章: http://travis.io/blog/2015/03/24/migrate-from-aspnet-membership-to-aspnet-identity.html