使用 Asp.Net Identity 1.0(RTM 版本)。默认实现创建一个 AspNetUsers 表。 Id 列类型为 nvarchar(128)。
创建数据库和表时,我只想将用户 ID 的类型更改为 uniqueidentifier 而不是 nvarchar(128)。我已尝试在 OnModelCreating 覆盖中使用 .HasColumnType("uniqueidentifier") 进行此操作...但它会引发错误。
微软表示这很容易......但我倾向于不同意......
http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity
由于您控制数据库架构,因此更改等常见任务
表名或更改主键的数据类型很简单。
因此,根据他们极其简短且完全非技术性的文档,这似乎是一项常见任务,即更改主键的数据类型......但似乎并不简单。请帮忙。
ASP.NET 团队的Hao Kung 已在此处发帖堆栈溢出你需要实现你自己的IUserStore
,但他正在努力让 1.1 版本变得更容易。
我相信你不仅要执行IUserStore
,在我看来你需要自己的UserStore
实施作为UserStore<TUser>
仅限于IdentityUser
.
如果我是正确的,这意味着你至少需要实施IUserStore
, IUserPasswordStore
, IUserSecurityStampStore
and IUserLoginStore
.
它有 14 种方法,其中大多数都非常容易实现。请注意,这不会完全替代UserStore<TUser>
,这只是您需要支持从AccountController
来自默认模板。
我有一个项目GitHub我自己尝试过,即我实现了一个使用 MongoDb 而不是 EntityFramework 进行持久化的 UserStore。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)