【发布时间】:2018-01-10 01:57:39
【问题描述】:
我尝试将 Id 从 string 更改为 int,但遇到了问题: 所有其他帖子都在_Startup文件中使用:
services.AddIdentity<User, IdentityRole<int>>.()
.AddEntityFrameworkStores<DatabaseContext,int>()
.AddDefaultTokenProviders();
但是当我尝试做同样的事情时,当我在 DatabaseContext 之后添加 int 时出现此错误:
“IdentityBuilder”不包含“AddEntityFrameworkStores”的定义,并且找不到接受“IdentityBuilder”类型的第一个参数的扩展方法“AddEntityFrameworkStores”(您是否缺少 using 指令或程序集引用?)(CS1061) (介绍)
>
我所做的其他更改:
public class User : IdentityUser <int>
public class DatabaseContext :IdentityDbContext <User,IdentityRole<int>,int>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>(i => {
i.ToTable("Users");
i.HasKey(x => x.Id);
});
modelBuilder.Entity<IdentityRole>(i => {
i.ToTable("Role");
i.HasKey(x => x.Id);
});
modelBuilder.Entity<IdentityUserRole<int>>(i => {
i.ToTable("UserRole");
i.HasKey(x => new { x.RoleId, x.UserId });
});
modelBuilder.Entity<IdentityUserLogin<int>>(i => {
i.ToTable("UserLogin");
i.HasKey(x => new { x.ProviderKey, x.LoginProvider });
});
modelBuilder.Entity<IdentityRoleClaim<int>>(i => {
i.ToTable("RoleClaims");
i.HasKey(x => x.Id);
});
modelBuilder.Entity<IdentityUserClaim<int>>(i => {
i.ToTable("UserClaims");
i.HasKey(x => x.Id);
});
base.OnModelCreating(modelBuilder);
}
【问题讨论】:
-
请不要破坏您的帖子。通过在 Stack Exchange 网络上发布,您已授予 SE 分发该内容的不可撤销的权利(在 CC BY-SA 3.0 license 下)。根据 SE 政策,任何破坏行为都将被撤销。
-
我试图删除我的帖子,但我没有找到任何删除按钮
-
@CalvT븃 不完全正确; 如果问题:有零个答案或只有一个答案,但该答案没有赞成票,用户可以删除他们自己的问题...只需单击问题下方的删除链接。 Help/Deleted Questions
-
好的;谢谢你,对不起
-
@CalvT븃 不,只有一个,目前 0 票。大卫很可能没有注意到问题下微妙的“删除”链接。