我正在使用Visual Studio 2013的发布版本(RTM,而不是RC)(从MSDN 2013-10-18下载),因此使用AspNet.Identity的最新版本(RTM).当我创建一个新的Web项目时,我选择"个人用户帐户"进行身份验证.这将创建以下表:
当我注册一个新用户(使用默认模板)时,会创建这些表(如上所列),并且AspNetUsers表中插入了一条记录,其中包含:
此外,通过向"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) 我正在使用IIS上托管的Microsoft Asp.net WebApi2.我非常想简单地记录每个帖子的请求体(xml或json)和响应体.
这个项目或处理帖子的控制器没什么特别之处.我对使用nLog,elmah,log4net等日志框架或webapi的内置跟踪功能不感兴趣,除非有必要这样做.
我只是想知道在哪里放置我的日志代码以及如何从传入和传出的请求和响应中获取实际的json或xml.
我的控制器发布方法:
public HttpResponseMessage Post([FromBody])Employee employee)
{
if (ModelState.IsValid)
{
// insert employee into to database
}
}
Run Code Online (Sandbox Code Playgroud) 我从不同的问题中汲取灵感(在我提出问题时在下面列出)。
我想做五件事,据我所知,从这些问题和答案中可以看出……所有这些都可以在我的 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 类型
使用 Visual Studio 2013 ASP.NET Identity 时如何更改表名?
使用 SQL 脚本创建 ASP.NET Identity 表
因此,基于上述...有人可以向我提供 OnModelCreating 方法,该方法将相应地创建这些身份表,将 UserId 作为 Guid(唯一标识符)类型的用户的 Id 列,在具有自定义名称的表中,使用适当的外键关系,以及 ApplicationUser 上的 FirstName 和 LastName 的两个附加属性?