【问题标题】:Asp.net MVC Identity unable create tables using Database approchAsp.net MVC Identity 无法使用数据库方法创建表
【发布时间】:2017-10-30 04:23:29
【问题描述】:

我正在使用 MVC 5 和 sql server 2012。我创建了名为 TestDB 的数据库,它不包含任何表。现在我正在尝试使用 MVC 项目中 AccountController 中默认给出的 Identity。我将 AccountController "Defaultconnection" 更改为我的 TestDBEntities 连接,但出现错误 System.InvalidOperationException:实体类型 ApplicationUser 不是当前上下文模型的一部分。我如何使用现有数据库创建身份。

  <connectionStrings>
  <add name="TestDBEntities" connectionString="metadata=res://*/DAL.TestModel1.csdl|res://*/DAL.TestModel1.ssdl|res://*/DAL.TestModel1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxxxx;initial catalog=TestDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

  public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{

    public ApplicationDbContext()
        : base("TestDBEntities", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

【问题讨论】:

  • 你是先用实体框架代码吗?
  • 我使用的是数据优先方法

标签: c# sql-server asp.net-mvc asp.net-mvc-4 entity-framework-4


【解决方案1】:

据我了解,解决您的问题的可能方法是:

1.交叉检查您是否将 ApplicationDbContext 添加到 UserStore 构造函数中

例如: https://stackoverflow.com/a/23894335/3397630

2.同时检查 webconfig 文件中是否有任何其他连接字符串。这也可能导致问题。

最后如果以上两点都不行,请看下面的文章:

http://www.codeguru.com/csharp/.net/net_asp/mvc/securing-asp.net-mvc-applications-with-asp.net-identity.htm

真的很好,我亲自为我的项目使用并创建了一个身份表,没有任何问题。

在文章中,每一点都解释得很好,通俗易懂。

希望以上信息对您有用,请告诉我您的想法或反馈

谢谢

卡提克

【讨论】:

    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多