【问题标题】:Move simple membership profider functionality to class library project将简单的成员资格提供程序功能移动到类库项目
【发布时间】:2025-12-12 10:30:02
【问题描述】:

我正在尝试将我的 DbSet 移动到将用于数据库操作的类库项目中。

我一直在关注 thisCode First / SimpleMembershipProfider 项目教程。我已经通过类库项目为数据库填充了新表等。

但我缺少您可以在this 图像上看到的网页表格。

这是我的数据上下文类:

public class DataContext : DbContext
{
    public DataContext() : base("DefaultConnection")
    {
    }

    public DbSet<Orders> Orders { get; set; }
    public DbSet<Appointment> Appointment { get; set; }
    public DbSet<UserProfile> UserProfile { get; set; }
}

我为每个DbSet 创建了一个cs 文件。我从web.config 中复制了connectionString,并将其放在类库项目的app.config 中。这是app.config 文件的样子:

<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.;Initial Catalog=aspnet-CodeFirst-test;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <roleManager enabled="true" defaultProvider="SimpleRoleProvider">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData" />
      </providers>
    </roleManager>
    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"  />
      </providers>
    </membership>
  </system.web>

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>

我不确定如何处理我的 web 项目中的 Filters 文件夹(具有 InitializeSimpleMembershipAttribute 类)。

谁能告诉我如何在数据库中创建webpages_?以及如何将网络安全等移动到类库项目中?

提前致谢!

【问题讨论】:

  • 您是否试图控制SimpleMembership 并将其包含在您的项目实体框架中?

标签: asp.net-mvc-4 ef-code-first simplemembership


【解决方案1】:

如果您尝试控制 Asp.net 简单成员表和/或将 Asp.net 简单成员表作为实体框架的一部分为您的项目实体框架建模,则需要采取许多步骤。我会一步一步地解释它们,但时间太长了,所以我只会为您提供参考。

Including Asp.net Simple Membership Tables as Part of Your Entity Framework Model

Seed Users and Roles with MVC 4, SimpleMembershipProvider, SimpleRoleProvider, Entity Framework 5 CodeFirst, and Custom User Properties

Building Applications with ASP.NET MVC 4. You can use trial version on pluralsight

如果您有任何具体问题,我很乐意为您解答。

【讨论】:

  • 嗨,我看到我必须自己创建表“webpages_Membership”以及角色和 oauth 等。在我遵循的教程的第二个链接中,我没有看到这 4 个表中的任何一个正在创建?我的另一个问题是,如果我想从我的类库项目中播种用户等,我必须在那里创建什么来实现它?
  • @Yustme 您手动创建表以便您可以控制并将它们放置在任何您想要的位置。这样,您可以为整个应用程序使用相同的连接字符串。要播种用户,您必须启用迁移,第二个链接谈到了这一点。
  • 许多和平刚刚落入他们的位置。谢谢!
  • @Yustme 我很高兴知道这很有帮助。
最近更新 更多