【问题标题】:Can you edit ASP.NET Core Identity User tables using SQL?您可以使用 SQL 编辑 ASP.NET Core 身份用户表吗?
【发布时间】:2020-01-16 08:01:12
【问题描述】:

问这么简单的问题我几乎觉得很傻,但我有一个 ASP.NET Core 应用程序,我试图在用户注册时正确配置电子邮件发件人。

我已经注册了我的电子邮件,但它没有用,所以为了再次测试,我需要从数据库中删除我的用户数据,因为目前我使用的电子邮件已经注册但从未向我发送电子邮件确认,所以我无论如何都无法登录。我需要做的就是从脚手架的 ASP.NET Core 标识users 表中删除数据,但每当我尝试使用 SSMS 定位表时,它只会告诉我该表不存在(即使我可以拉起表并查看我的电子邮件和数据)或给我“身份附近的语法错误”消息。

就是这样 - 您可以使用 SQL 命令从 ASP.NET Core 编辑脚手架身份表吗?

【问题讨论】:

  • 您究竟是如何尝试从数据库中删除记录?
  • 只需运行基本查询即可。我尝试过使用 Truncate table TomatoPizzaCafe.Identity.AspNetUsers [db].[schema].[table] 之类的东西

标签: c# asp.net asp.net-mvc asp.net-core asp.net-identity


【解决方案1】:

编辑:Identity 是 reserved keyword,你是 should avoid using。 这仍然应该通过在关键字周围放置方括号来工作,例如:

SELECT * FROM TomatoPizzaCafe.[Identity].AspNetUsers

初始:您应该可以这样做,但 AspNetUsers 表中的数据被其他一些表引用,即 AspNetUserClaims、AspNetUserLogins、AspNetUserRoles、AspNetUserTokens。因此,要删除 AspNetUser,您首先需要在提到的(也可能是您的一些自定义)表中删除与它们相关的数据。

请注意,SQL Server Management Studio 通常会告诉您此类问题的确切原因。

【讨论】:

  • 感谢您的回复!是的,通常 SSMS 有很好的错误报告,但根据这个问题,它告诉我的只是“身份附近的语法不正确”,所以在我看来,SSMS 似乎将身份一词作为 SQL 命令,而实际上它是我的表所在的架构。但不确定这有多正确。
  • 非常感谢!我在这方面找不到任何东西。不幸的是,默认情况下,asp.net core 会自动将此文件夹命名为 Identity。
猜你喜欢
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
  • 2019-03-25
  • 2010-12-03
相关资源
最近更新 更多