AspNetUsers (Identity) 与自定义数据库中的其他表之间的多对多关系

Posted

技术标签:

【中文标题】AspNetUsers (Identity) 与自定义数据库中的其他表之间的多对多关系【英文标题】:Many to many relationship between AspNetUsers (Identity) and other tables in a custom database 【发布时间】:2015-03-06 12:45:23 【问题描述】:

我开始学习 ASP.NET 并遵循 this 教程。因此,我得到了一个简单的应用程序,它使用 ASP.NET Identity 会员系统,并有一个包含产品和购物车项目的附加数据库。

考虑到它们属于(我猜)两个不同的数据库,有没有办法在用户和产品数据之间创建多对多关系? 我还想保存添加新项目的用户,所以我需要多对一关系或外键。我找到了一堆针对 MVC 的教程,但没有针对 Web 表单的教程,而且由于我是初学者,所以我没有设法弄清楚如何根据自己的需要来实现它。

【问题讨论】:

我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。 ***.com/questions/4452132/… 谢谢,但是这个方案没有使用实体框架 我希望我说得更清楚here 【参考方案1】:

它存储添加到购物车的每件商品,而没有关于添加它的用户的信息,因此每个购物车商品都会显示给每个登录的用户。

你确定吗?引用下面的教程:

如果用户以注册用户身份登录,则购物车 ID 设置为 他们的用户名。但是,如果用户未登录,则购物车 ID 为 设置为唯一值(GUID)。 GUID 确保只有一个购物车 根据会话为每个用户创建。

【讨论】:

我误解了这一点,我编辑了这个问题,但我仍然需要创建这些多对多和一对多的关系,它并没有帮助我理解我该怎么做. 在本教程的第 8 节(会员资格和管理)中您有一个线索:如果您希望将会员数据与产品数据一起存储,您可以考虑使用与以前相同的 DbContext将产品数据存储在上述代码中。您可以将产品和身份模型放在相同的上下文中,并根据需要对其进行自定义。 在哪里可以找到有关如何执行此操作的更多说明? 推荐一个EF教程:asp.net/web-forms/overview/older-versions-getting-started/…

以上是关于AspNetUsers (Identity) 与自定义数据库中的其他表之间的多对多关系的主要内容,如果未能解决你的问题,请参考以下文章

迁移到 Asp.Net Identity 2.0:未在 AspNetUsers 表中创建新列

.net core 修改 Identity/AspNetUsers 数据库

如何有条件地将多个模型映射到 ASP.NET Core Identity 中的一个表(AspNetUsers)?

将用户迁移到 Identity Server

如何将ADFS用户添加到`AspNetUsers`中?

AspNetCore.Identity详解2——注册用户