【问题标题】:Creating identity tables and developing project tables in SQL Server在 SQL Server 中创建标识表和开发项目表
【发布时间】:2018-05-31 04:30:54
【问题描述】:

我按照教程Adding ASP.NET Identity to an Empty or Existing Web Forms Project 并成功地在 asp.net 网络表单中为一个新项目创建了身份表。

现在我很困惑如何开发我的整个项目,而我的其他表在 SQL Server 中,即我会有另一个连接字符串。

例如,为了创建身份表,我的连接字符串是::

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\WebFormsIdentity.mdf;Initial Catalog=WebFormsIdentity;Integrated Security=True"
         providerName="System.Data.SqlClient" />
</connectionStrings>

我正在创建一个数据库名称为SCHOOL 的学校管理系统,所以我的连接字符串是:

<connectionStrings>
    <add name="myConnection" 
         connectionString="Data Source = DESKTOP-055678; Initial Catalog=SCHOOL;Persist Security Info=True;Trusted_Connection=Yes;Integrated Security=SSPI;pooling=false" 
         providerName="System.Data.SqlClient" />
</connectionStrings> 

那么我应该保留这两个连接字符串还是有其他方法?

网络上的所有教程都只展示了创建身份表,但没有展示任何进一步的步骤。请让我清楚,可能是我误解了任何概念。请澄清一下。谢谢!

【问题讨论】:

  • 我建议避免使用 2 个 dbContext。将 ApplicationContextDb 用于 Identity 和您的数据模型

标签: asp.net sql-server webforms asp.net-identity connection-string


【解决方案1】:

如果您有两个 DB(和两个连接字符串),那么您需要创建两个 DbContexts。像这样的。

public class FirstDbContext : IdentityDbContext<ApplicationUser>
{
    public FirstDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }
}

public class SchoolDbContext : DbContext
{
    public SchoolDbContext()
        : base("MyConnection", throwIfV1Schema: false)
    {
    }
}

另一种方法是将所有表(和其他表)从一个数据库移动到另一个数据库并使用单个 ConnectionString。

【讨论】:

  • 感谢您的回复。但是如果你看到教程没有 DbContext 类,那我该怎么做呢?您提到的另一种方法,如何将表从 mdf 文件传输到 SQL Server 数据库?请帮忙!!!
  • 将身份表定义和数据移动到school DB 并从IdentityDbContext&lt;ApplicationUser&gt; 继承您的SchoolDbContext
  • 如何将身份表定义和数据移动到SCHOOL DB?我在网上搜索了这个主题,但找不到任何好的教程。
猜你喜欢
  • 2013-04-17
  • 2020-11-12
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
相关资源
最近更新 更多