Asp.net标识将主键创建为具有聚簇索引的nvarchar(128)。 基于http://www.sqlskills.com/blogs/kimberly/guids-as-primary-keys-andor-the-clustering-key/,我想要
你会建议什么?
如果第一个解决方案是可行的方法,实体框架是否提供了实现此方法的方法?
是ASP.NET Identity - How to change the dbo.AspNetUsers.Id into a nonclustered index?唯一的方式
答案 0 :(得分:3)
对于#2,如果您不需要(或想要)使用GUID作为主键,您可以将它们更改为int,如下所示:
public class ApplicationUser : IdentityUser<int, ApplicationUserLogin,
ApplicationUserRole, ApplicationUserClaim>
{
}
public class ApplicationUserLogin : IdentityUserLogin<int>
{
}
public class ApplicationUserClaim : IdentityUserClaim<int>
{
}
public class ApplicationRole : IdentityRole<int, ApplicationUserRole>
{
}
public class ApplicationUserRole : IdentityUserRole<int>
{
}
然后声明你的DbContext:
public class MyContext: IdentityDbContext<ApplicationUser, ApplicationRole, int,
ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
}