Asp.net core 实体框架核心不';t首先创建标识表和其他MVC代码表

Asp.net core 实体框架核心不';t首先创建标识表和其他MVC代码表,asp.net-core,asp.net-core-mvc,entity-framework-core,asp.net-core-identity,Asp.net Core,Asp.net Core Mvc,Entity Framework Core,Asp.net Core Identity,我的web项目有问题。即使多次尝试添加迁移,它也不会在我的数据库中创建任何表。它说数据库已经是最新的了。我试着用播种机,但没用。我仍然可以手动添加带有查询的表,但是对于标识表,这将是一个问题。 EFDbContext中的我的代码: 模型创建时受保护的覆盖无效(ModelBuilder) { foreach(builder.Model.GetEntityTypes()中的var关系。SelectMany(e=>e.GetForeignKeys()) { relationship.DeleteBeh

我的web项目有问题。即使多次尝试添加迁移,它也不会在我的数据库中创建任何表。它说数据库已经是最新的了。我试着用播种机,但没用。我仍然可以手动添加带有查询的表,但是对于标识表,这将是一个问题。 EFDbContext中的我的代码:

模型创建时受保护的覆盖无效(ModelBuilder)
{
foreach(builder.Model.GetEntityTypes()中的var关系。SelectMany(e=>e.GetForeignKeys())
{
relationship.DeleteBehavior=DeleteBehavior.Restrict;
}
基于模型创建(生成器);
builder.Entity(userRole=>
{
HasKey(ur=>new{ur.UserId,ur.RoleId});
userRole.HasOne(ur=>ur.Role)
.WithMany(r=>r.UserRoles)
.HasForeignKey(ur=>ur.RoleId)
.IsRequired();
userRole.HasOne(ur=>ur.User)
.WithMany(r=>r.UserRoles)
.HasForeignKey(ur=>ur.UserId)
.IsRequired();
});
}
公共虚拟数据库集国家{get;set;}
公共虚拟数据库集类别{get;set;}
公共虚拟数据库集制造商{get;set;}
公共虚拟数据库集产品{get;set;}
公共虚拟数据库集用户配置文件{get;set;}
公共虚拟数据库集文件{get;set;}
公共虚拟数据库集子类别{get;set;}
启动时:

public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
options.checkApprovered=context=>true;
options.MinimumSameSitePolicy=SameSiteMode.None;
});
services.AddDbContext(选项=>
options.UseSqlServer(
GetConnectionString(“DefaultConnection”);
services.AddIdentity(options=>options.Stores.MaxLengthForKeys=128)
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(选项=>
{
options.LoginPath=new Microsoft.AspNetCore.Http.PathString(“/Account/Login”);
options.AccessDeniedPath=new Microsoft.AspNetCore.Http.PathString(“/Account/Login”);
});
services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddMemoryCache();
services.AddSession();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
app.UseAuthentication();
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
app.UseExceptionHandler(“/Home/Error”);
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSession();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller=Home}/{action=Index}/{id?}”);
routes.MapRoute(
名称:“类别过滤器”,
模板:“产品/{action}/{category?}”,
默认值:新建{Controller=“Product”,action=“ListProducts”});
});
}

我通过更改类、连接字符串,但保留主代码来重做其他项目。所以我不明白这个问题。如果您有任何猜测,请写出来。

您的迁移文件是什么样子的?当我执行“添加迁移”时,它实际上会创建空向上和空向下的迁移当我更改代码中的某些内容时,它会使用此更改创建迁移(例如更改列名),但当我执行“更新数据库”时它说找不到表您的数据库与迁移不同步,请备份/删除迁移和数据库快照,然后添加迁移我重新创建了数据库并删除了迁移文件夹,这很有帮助。谢谢您的迁移文件是什么样子的?当我执行“添加迁移”时,它实际上创建了空向上和空向下的迁移当我更改代码中的某些内容时,它使用此更改创建迁移(例如更改列名),但当我执行“更新数据库”时,它表示无法找到表您的数据库与迁移不同步,备份/删除迁移和数据库快照,然后添加迁移我重新创建了数据库并删除了迁移文件夹,这很有帮助。谢谢