【发布时间】:2014-12-07 07:38:49
【问题描述】:
我有 VS 2013,更新 4,如果相关的话。
ASP Identity 仅支持代码优先,但我有一个现有的数据库。因此,我正在尝试首先使用 ASP Identity 为 EF db 安装 T4 模板,遵循以下说明 https://github.com/cbfrank/AspNet.Identity.EntityFramework
已成功安装 EF Power Tools。下一步是从 NuGet 安装 T4 模板:https://www.nuget.org/packages/cb.AspNet.Identity.EntityFramework.T4/
但是在尝试从 NuGet 控制台安装时,出现错误:
“安装包:找不到包 cb.AspNet.Identity.EntityFramework.T4”
我还没有找到任何关于如何手动安装软件包的说明。
请告知,如何安装此 T4 模板或建议其他解决方案 - 如何将 ASP Identity 与现有数据库一起使用。
谢谢。
更新:
我已按照 Daniel Eagle 博客中的说明进行操作(请参阅我对 url 的评论,系统不允许粘贴超链接) 但是,当我尝试运行应用程序并注册一个新用户时,出现了异常:
“支持 'ApplicationDbContext' 上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库
异常详细信息:System.InvalidOperationException:支持“ApplicationDbContext”上下文的模型自创建数据库以来已更改。考虑使用 Code First 迁移来更新数据库。
来源错误:
第 153 行:{ 第 154 行:var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; 第 155 行:var result = await UserManager.CreateAsync(user, model.Password); 第 156 行:如果(结果。成功) 第 157 行:{
源文件:c:\Users\Valeriya\Documents\Visual Studio 2013\Projects\Bulk_mailer_6\Bulk_mailer_6\Controllers\AccountController.cs 行:155 "
【问题讨论】:
-
谢谢你,Simranjeet,我检查了建议的帖子,并按照 Daniel Eagle 在他的博客中提供的说明进行操作:danieleagle.com/blog/2014/05/… 但是,当我尝试运行应用程序并注册一个新的用户,弹出异常。
-
当数据库与您的应用程序中定义的类不同步时,通常会发生该错误。解决方案是使用迁移并使数据库与定义的类和属性同步。希望这会有所帮助!。
-
好的,我现在明白了,谢谢。不过,我已经放弃并先应用代码。我认为,将我的示例数据重新插入 db 所需的时间会更少,然后先对 db 进行故障排除。
标签: asp.net-mvc asp.net-identity-2 asp.net-mvc-5.2