gpt4 book ai didi

c# - MVC 5 不自动在数据库中创建 AspNetUser 表

转载 作者:太空狗 更新时间:2023-10-29 21:04:34 24 4
gpt4 key购买 nike

我是 MVC 5 的新手,我正在尝试在创建的新数据库上下文中配置个人用户身份验证,但 ApplicationDBContext 没有在我的新数据库中创建 AspNetUser 表。有人能指出我正确的方向吗?

错误

The entity type ApplicationUser is not part of the model for the current context.

IdentityModel.cs

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyEntities", throwIfV1Schema: false)
{
}

public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}

Web.config

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-MVC5.WebSite-20150723075149.mdf;Initial Catalog=aspnet-MVC5.WebSite-20150723075149;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="MyEntities" connectionString="metadata=res://*/Models.UserModel.csdl|res://*/Models.UserModel.ssdl|res://*/Models.UserModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=devserver;initial catalog=MyEntities;user id=user;password=pass;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我知道 MVC 应该自动神奇地创建 UserStore 和关联表,但显然我在这里做了一些完全愚蠢的事情。非常感谢任何帮助。

最佳答案

您是否在使用代码优先迁移?

通常,您必须启用迁移、创建新迁移并应用它们才能创建您的数据库。

进入包管理器控制台并执行以下命令

enable-migrations
add-migration initial
update-database

编辑

如果你不想使用迁移,你也可以把它放在你上下文的构造函数中:

Database.SetInitializer<ApplicationDbContext>(new DropCreateDatabaseIfModelChanges<ApplicationDbContext>());

但是每次重新创建数据库时你都会丢失你的数据

关于c# - MVC 5 不自动在数据库中创建 AspNetUser 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31897622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com