我正在使用带有MySql数据库的Visual Studio 2013 Web表单应用程序来构建Web表单应用程序,但我无法通过“成员资格和角色管理”。 我使用数据库第一种方法来获取成员资格,当我尝试注册新用户时,我收到以下错误消息:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: MySql.Data.MySqlClient.MySqlException: Unknown column 'Extent1.Discriminator' in 'where clause'
Source Error:
Line 16: var manager = new UserManager();
Line 17: var user = new ApplicationUser() { UserName = UserName.Text };
Line 18: IdentityResult result = manager.Create(user, Password.Text);
Line 19: if (result.Succeeded)
Line 20: {
Source File: c:\WebsiteProjects\ASPNETWebProjects\RevenuePortal\RevenuePortal\Account\Register.aspx.cs
奇怪的是,我在数据库的任何地方都没有“Extent1.Discriminator”列,无法理解这个令人沮丧的错误的原因。我将感谢您的帮助或建议。谢谢
答案 0 :(得分:2)
Extent1是实体框架在构造底层sql语句时使用的表别名。该错误意味着EF未正确配置或错误解释您的数据库结构。
您需要分析它生成的基础查询,并确定为什么EF us3是一个不应该使用的字段。可能是2个表之间的关系设置不正确。
答案 1 :(得分:0)
如果可能,请尝试从头开始迁移。从下面在 Nuget 包管理器中执行:VS 2019 - 工具 - NuGet 包管理器 - 包管理器控制台 - 运行命令 Add-Migration DBInit
- 完成后,运行另一个命令 Update-Database
。
以上解决方案适用于代码优先的方法。
我在更改系统时遇到了同样的问题,迁移后它开始为我工作。希望同样适用于其他人。编程愉快!!