【问题标题】:Owin OAuth provider "The entity type IdentityUser is not part of the model for the current context"Owin OAuth 提供者“实体类型 IdentityUser 不是当前上下文模型的一部分”
【发布时间】:2014-05-28 14:37:46
【问题描述】:
UserManagerFactory = () => new UserManager<IdentityUser>(new UserStore<IdentityUser>());
OAuthOptions = new OAuthAuthorizationServerOptions
{
    TokenEndpointPath = new PathString("/Token"),
    Provider = new ApplicationOAuthProvider(PublicClientId, UserManagerFactory),
    AuthorizeEndpointPath = new PathString("/api/AccountOwin/ExternalLogin"),
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
    AllowInsecureHttp = true
};

IdentityUser、UserStore 是从哪个实体框架中形成的。

我想使用我的数据库而不是本地数据库,我从本地数据库表生成了“生成”脚本并 我在自定义数据库中创建了它们,但是当我在下一行中更改数据库上下文时:

UserManagerFactory = () => new UserManager<IdentityUser>(new UserStore<IdentityUser>(new MyCustomDBEntities()));

MyCustomDBEntities 是我在实体框架 (edmx) 中的自定义数据库 我收到以下错误: “实体类型 IdentityUser 不是当前上下文模型的一部分”

我做错了什么? 我应该创建自己的用户管理器吗?

public class MyCustomDBEntities : IdentityDbContext<IdentityUser>
    {
        public MyCustomDBEntities()
            : base("name=ConnectionStringName")
        {
        }
    }

【问题讨论】:

  • 您确定在新数据库中正确生成了表吗?
  • 是的,因为我使用管理工作室来生成创建脚本。有趣的是,系统并没有生成具有该名称的表,而是生成了许多带有 AspNet 前缀的表,例如 AspNetRoles。也许错误在其他地方?
  • 简单地将LocalDB创建的文件恢复到SQL Server会更容易。这样你就知道你拥有所需的一切。例如,您可能缺少 __MigrationHistory 表中的某些行。
  • 不幸的是,我在还原后遇到了同样的错误。还有其他想法吗?
  • 所以将连接字符串改回 localdb 仍然有效吗?你能分享一下你用于 SQL Server 的字符串吗?

标签: c# wif


【解决方案1】:

我怀疑问题出在您的连接字符串上。首先,你的上下文的构造函数只需要有连接字符串的名字,所以你可以改成这样:

public MyCustomDBEntities() : base("ConnectionStringName") { }

其次,这可能只是您在发布之前编辑代码,该名称需要与配置文件中的名称匹配:

<add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="...." />

最后,您可能需要更改连接字符串以使用标准 SQL Server 格式而不是 EF 格式。所以它可能看起来像这样:

Data Source=LNODA-PC;Initial Catalog=Dashboard;Persist Security Info=True;User Id=XXXX;Password=XXXXXX;MultipleActiveResultSets=True;

【讨论】:

  • 嗯,这工作得很好,谢谢。你能推荐我一些我应该阅读的关于这个主题的文章,因为你可以看到我在这个主题上有点傻。
  • 我的问题是我使用的是EF格式的连接字符串。谢谢!
猜你喜欢
  • 2014-11-30
  • 1970-01-01
  • 2013-11-10
  • 2017-06-19
  • 2011-06-26
  • 2014-01-08
  • 2014-03-29
  • 2018-02-16
相关资源
最近更新 更多