相关疑难解决方法(0)

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

(ASP.NET MVC 5,EF6,VS2013)

我试图弄清楚如何在类型中将"Id"字段的类型从字符串更改为int:

Microsoft.AspNet.Identity.EntityFramework.IdentityUser
Run Code Online (Sandbox Code Playgroud)

为了使新用户帐户与整数ID而不是GUID相关联.但似乎这比在我的派生用户类中简单地添加类型为int的新Id属性更复杂.看看这个方法签名:

(来自程序集Microsoft.AspNet.Identity.Core.dll)

public class UserManager<TUser> : IDisposable where TUser : global::Microsoft.AspNet.Identity.IUser
  {
  ...
  public virtual Task<IdentityResult> AddLoginAsync(string userId, UserLoginInfo login);
  ...
  }
Run Code Online (Sandbox Code Playgroud)

因此,似乎ASP.NET身份框架中还有其他方法要求userId为字符串.我还需要重新实现这些课程吗?

解释为什么我不想在用户表中存储id的GUID:

- 将有其他表通过外键将数据与users表相关联.(当用户在网站上保存内容时.)我认为没有理由使用较大的字段类型并花费额外的数据库空间而没有明显的优势.(我知道还有其他关于使用GUID和int ID的帖子,但似乎有很多人建议int id更快并且使用更少的空间,这仍然让我感到疑惑.)

- 我计划公开一个restful端点,以允许用户检索有关特定用户的数据.我认为:

/users/123/name
Run Code Online (Sandbox Code Playgroud)

比...更干净

/users/{af54c891-69ba-4ddf-8cb6-00d368e58d77}/name
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么ASP.NET团队决定以这种方式实现ID?在尝试将其更改为int类型时,我是否只是短视?(也许我缺少一些好处.)

谢谢...

-ben

asp.net-mvc entity-framework owin asp.net-mvc-5 asp.net-identity

66
推荐指数
3
解决办法
4万
查看次数

如何使用ASP.NET标识实现多租户用户登录

我正在开发一个多租户解决方案,我想使用最新的ASP.NET Identity框架,特别是Entity Framework实现.

基本上我需要允许两个用户拥有相同的用户名,虽然它必须在租户中是唯一的,我也想利用外部登录,如Twitter,微软,Facebook和谷歌.

据我所知,该框架并未考虑多租户设计,尽管它似乎确实允许可扩展性.我宁愿尽可能多地使用现有组件,但目前我认为我将不得不放弃实体框架实现,并自己编写代码.

有没有其他人试过这个,他们有多少自己编码.

multi-tenant entity-framework-6 asp.net-identity

25
推荐指数
1
解决办法
9824
查看次数

为什么ASP.Net Identity 2存储在NVARCHAR中的UserId中?

默认值存储UserId在a中NVARCHAR(128).有人可以解释为什么它不存储在一个NVARCHAR?从我看到的GUID只不过是数字,字母和破折号.是否需要NVARCHAR正确存储?

c# sql-server asp.net asp.net-identity

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