如何使用Asp.net Identity与DataBase第一种方法

时间:2015-05-20 10:06:12

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

您好我正在尝试使用.net 4.5框架创建Asp.net webforms应用程序。 我有我现有的DataBase,我需要在同一时间使用数据库第一个approch我需要使用ASP.identity。我尝试重新创建默认情况下使用asp.identitygénérated的表在我的dataBase中生成.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.

1 个答案:

答案 0 :(得分:1)

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

  1. 从现有数据库生成代码模型
  2. 在您希望用于Identity实现的表中,从适当的类继承
  3. 创建迁移并将更改应用于您的数据库。
  4. 要为您从数据库生成的文件启用标识:

    • 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