【问题标题】:how to Use Asp.net Identity with DataBase first approach如何将 Asp.net Identity 与数据库第一方法一起使用
【发布时间】:2015-08-01 12:21:25
【问题描述】:

您好,我正在尝试使用 .net 4.5 框架创建 Asp.net webforms 应用程序。 我有我现有的数据库,我需要首先使用数据库,同时我需要使用 ASP.identity。我尝试在我的数据库中重新创建默认使用 asp.identity 生成的表,然后生成 .edmx 文件并更改

中的字符串连接名称
public ApplicationDbContext()
            : base("GoalsDBEntities", throwIfV1Schema: false)
        {
        }

但不幸的是我收到以下错误

An exception of type 'System.InvalidOperationException' occurred in mscorlib.dll but was not handled in user code

Additional information: The type of ApplicationUser entity not part of the model for the current context.

【问题讨论】:

    标签: c# entity-framework webforms asp.net-identity-2


    【解决方案1】:

    要开始使用 ASP.NET 身份,我建议执行以下步骤:

    1. 从现有数据库生成代码模型
    2. 在您希望用于身份实现的表上从相应的类继承
    3. 创建迁移并将更改应用到您的数据库。

    要使用您从数据库生成的文件启用身份验证:

    • IdentityDbContext而不是DbContext继承生成的上下文。
    • IdentityUser继承你的用户模型

    根据您的情况,您需要从其中一个身份类继承更多自己的模型,或者您必须添加(使用代码优先迁移)。有关IdentityDbContext 的更多信息,请参阅https://msdn.microsoft.com/en-us/library/dn613255%28v=vs.108%29.aspx

    请注意,在使用代码优先迁移或从数据库本身更新数据库时,此方法需要进行必要的维护。这并非完全不可能,但您可能必须多次重新生成代码第一个模型,或者关闭模型兼容性检查并将更新手动应用于您的模型。 (见:How can I disable model compatibility checking in Entity Framework 4.3?


    有关如何从现有数据库生成代码优先模型的信息,请参阅 https://msdn.microsoft.com/en-us/library/jj200620.aspx

    请参阅https://msdn.microsoft.com/en-us/data/jj591621.aspx,了解有关在您的项目中启用迁移的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 2019-08-30
      • 2019-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多