相关疑难解决方法(0)

如何在使用ASP.NET标识时更改表名?

我正在使用Visual Studio 2013的发布版本(RTM,而不是RC)(从MSDN 2013-10-18下载),因此使用AspNet.Identity的最新版本(RTM).当我创建一个新的Web项目时,我选择"个人用户帐户"进行身份验证.这将创建以下表:

  1. AspNetRoles
  2. AspNetUserClaims
  3. AspNetUserLogins
  4. AspNetUserRoles
  5. AspNetUsers

当我注册一个新用户(使用默认模板)时,会创建这些表(如上所列),并且AspNetUsers表中插入了一条记录,其中包含:

  1. ID
  2. 用户名
  3. PasswordHash
  4. SecurityStamp
  5. 鉴别

此外,通过向"ApplicationUser"类添加公共属性,我已成功向AspNetUsers表添加了其他字段,例如"FirstName","LastName","PhoneNumber"等.

这是我的问题.有没有办法更改上面表格的名称(首次创建时)或者它们是否总是以AspNet我上面列出的前缀命名?如果表名可以不同的名称,请解释如何.

- 更新 -

我实施了@Hao Kung的解决方案.它确实创建了一个新表(例如我称之为MyUsers),但它仍然创建了AspNetUsers表.目标是用"MyUsers"表替换"AspNetUsers"表.请参阅下面的代码和创建的表的数据库图像.

我实际上想AspNet用我自己的名字替换每个表...例如,MyRoles,MyUserClaims,MyUserLogins,MyUserRoles和MyUsers.

我如何实现这一目标,最终只有一组表格?

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string PostalCode { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-identity

206
推荐指数
5
解决办法
9万
查看次数

使用SQL Server数据库而不是本地数据库asp.net mvc 5数据库优先的asp.net身份表

我使用Database First创建了一个MVC Web App.ASP.Net Identity数据的默认数据库是本地数据库.我需要将其更改为已存在的sql server db.我到处寻找.关于此的唯一文章似乎涉及Code First方法.我需要DB第一种方法.我已尝试在控制台中启用PM - 启用迁移.我最终得到了这个错误:

"不支持从使用Database First或Model First创建的DbContext创建DbModelBuilder或编写EDMX.只能从不使用现有DbCompiledModel创建的Code First DbContext获取EDMX."

我还简单地将我的Web配置中的"默认连接"连接字符串更改为指向我的Sql Server,但仍然没有.

有没有人能指出我在运行我的应用程序而不是本地数据库时如何在sql server数据库中创建asp.net身份表的正确方向?

asp.net-mvc entity-framework ef-database-first asp.net-identity

6
推荐指数
1
解决办法
1万
查看次数

使用 Guid 和自定义表名称和 Asp.net Identity 1.1 Alpha 创建自定义实现

我从不同的问题中汲取灵感(在我提出问题时在下面列出)。

我想做五件事,据我所知,从这些问题和答案中可以看出……所有这些都可以在我的 OnModelCreating 方法中完成。

前言:我正在为 Asp.Net Identity 1.1-alpha 使用最新的夜间位

  • 我想在 AspNetUsers 表中使用“UserId”而不是 Id 作为我的用户 Id 的属性。我知道这将涉及在 OnModelCreating 期间使用“HasColumnName”。

  • 我想使用 Guid(唯一标识符)作为我的 UserId(而不是字符串)的数据类型。我知道这涉及将我自己的 POCOS 用于 IUser 类和 IUserStore 等,正如 Hao Kung 在他的回答中指出的那样......

如何更改 Microsoft.AspNet.Identity.EntityFramework.IdentityUser 中的 id 类型

  • 我想使用我自己的自定义表名,例如 MyRoles、MyCUserClaims、MyUserLogins、MyUserRoles、MyUsers,如本答案所示...

使用 Visual Studio 2013 ASP.NET Identity 时如何更改表名?

  • 正如 Hao Kung 在这里展示的那样,所有外键都应该与 Asp.net Identity 表适当地映射......

使用 SQL 脚本创建 ASP.NET Identity 表

  • 我想为 FirstName 和 LastName 的 ApplicationUser 添加属性。

因此,基于上述...有人可以向我提供 OnModelCreating 方法,该方法将相应地创建这些身份表,将 UserId 作为 Guid(唯一标识符)类型的用户的 Id 列,在具有自定义名称的表中,使用适当的外键关系,以及 ApplicationUser 上的 FirstName 和 LastName 的两个附加属性?

c# asp.net asp.net-mvc asp.net-membership asp.net-identity

5
推荐指数
1
解决办法
1281
查看次数