我需要Asp.Net最新版本的MVC与它有一个附加列String Address
表dbo.AspNetUsers
使用Asp.Net身份数据库第一种方法
的现有数据库整合我需要建立一个具有属性的实例ApplicationUser
地址。
任何想法如何做到这一点?
我需要Asp.Net最新版本的MVC与它有一个附加列String Address
表dbo.AspNetUsers
使用Asp.Net身份数据库第一种方法
的现有数据库整合我需要建立一个具有属性的实例ApplicationUser
地址。
任何想法如何做到这一点?
一个可行的解决方案,适用于我,基本上我能够将Asp.Net Identity用户配置文件与现有数据库集成。
获取Asp.Identity表:
或者使用类似http://identity.codeplex.com/
与您现有的数据库整合:
现在,您的数据库中的Asp.Identity表与您的应用程序中的ER模型一起使用。
Asp.Identity档案添加新的特性:
执行命令“启用的迁移” ;一旦我们启用了数据库迁移,我们可以继续为我们的用户配置添加新的特性
要添加新的属性修改IdentityModels.cs文件,例如:
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}
添加新迁移
一旦我们添加了这些属性,请打开Package Manager Console并执行以下命令。
添加迁移“YouMigrationName”
该命令将生成一个数据库脚本文件,现在执行以下命令来对数据库运行该脚本文件。
Update-Database
现在,所有新属性都将变成同一个数据库表中的表字段。
我希望它可以帮助别人,如果你有更好的想法,请让我知道。
其实这不起作用 为了我。我已经启用了迁移,添加了新的属性,添加了新的迁移,但是当我尝试“更新数据库”时,它说“数据库中已经有一个名为'AspNetRoles'的对象。”所以看起来,它不会更新数据库,而是尝试重新创建它。 – bsaglamtimur
我可以知道为什么所有的asp.net mvc都使用localdb作为默认身份验证数据库吗? – Timeless
为什么使用迁移,如果它是数据库优先的方法?我的理解是,迁移是以代码优先的方式将代码更改应用于数据库 – Andrey
看看这些项目在GitHub上:
其中包括:
任何人都得到了任何其他资源如何使用https://github.com/kriasoft/AspNet.Identity作为其文档没有说很多,如果我不是从头开始。我只是想将我的身份上下文链接到我的数据库第一个上下文/。 – Zapnologica
@Zapnologica,以及..它更适合于数据库优先的方法,在那里你根据实际的数据库模式生成EF DbContext/Model。 –
那么它不能与数据库第一次使用?只有这样我才能想到的是重新实现所有的商店,并使用我自己的'dbContext'指向我的数据库第一个模型? – Zapnologica
我已经成功地在现有的数据库通过数据库与Identity Framework 2.0的第一累计。我已经写在上面here博客文章,它使用ASP.NET MVC 5,身份Framework 2.0中,并从Visual Studio 2013更新2 RTM的SPA模板。
我希望这可以帮助任何人在他们的旅程,因为它包含在一个地方,我必须弄清楚我自己没有列出的几点。
public class MyUser:IdentityUser { public virtual MyUserInfo MyUserInfo {get;组; } }
public class MyUserInfo{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class MyDbContext : IdentityDbContext<MyUserInfo> //Edited to MyUserInfo
{
public MyDbContext()
: base("DefaultConnection")
{
}
public System.Data.Entity.DbSet<MyUserInfo> MyUserInfo { get; set; }
}
获取档案信息
当用户登录时,可以显示通过执行配置文件信息如下 获得当前登录的UserId
,所以你可以看看在ASP用户最多.NET身份系统
var currentUserId = User.Identity.GetUserId();
在ASP中实例化UserManager
。识别系统,让您可以看一下用户在系统
var manager = new UserManager<MyUser>(new UserStore<MyUser>(new MyDbContext()));
获取用户对象
var currentUser = manager.FindById(User.Identity.GetUserId());
获取有关用户
currentUser.MyUserInfo.FirstName
有趣的HTTP配置文件信息:// WWW。 itorian.com/2013/11/customize-users-profile-in-aspnet.html – GibboK
相关http://stackoverflow.com/questions/19940014/asp-net-identity-with-ef-database-first-mvc5 – GibboK