【发布时间】:2014-02-10 16:42:57
【问题描述】:
我尝试了 ASP.Net 身份,它工作正常。 然后,我尝试使用此处提供的预先创建的脚本使其与现有 SQL 数据库一起工作:SQL script for creating an ASP.NET Identity Database
我将默认连接字符串更改为 web.config 中定义的字符串:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyDatabaseEntities")
{
}
}
我愚蠢地认为这就是我需要更改的所有内容,因为表已创建并且我将其指向 SQL 数据库。 当我尝试注册新用户时,错误消息是: {“实体类型 ApplicationUser 不是当前上下文模型的一部分。”}
问题:我缺少什么来完成这项工作?是否有使用实体框架在现有 SQL 数据库中实现身份的最佳实践? 谢谢。
【问题讨论】:
-
EF 和 Code First 还是 DB First 哪个版本?
-
EF6 将首先使用 DB,因为已经创建了一个已经设置为使用 EF 的 SQL 数据库。谢谢。
-
请考虑检查过滤器文件夹中的
SimpleMembershipInitializer和模型中的UsersContext。身份的 sql 脚本错过了 Membership Provider 使用的一些表。
标签: c# asp.net entity-framework webforms asp.net-identity