在SQL Server

时间:2017-12-17 18:25:47

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

我按照教程Adding ASP.NET Identity to an Empty or Existing Web Forms Project进行了操作 并在asp.net Web表单中为新项目成功创建了标识表。

现在我很困惑如何开发我的整个项目,其他表在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> 

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

网络中的所有教程仅显示创建身份表,但不显示任何进一步的步骤。请让我明白,可能是我误解了任何概念。请澄清一下。谢谢!

1 个答案:

答案 0 :(得分:1)

如果你有两个DB(和两个连接字符串),那么你需要创建两个DbContext。这样的事情。

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

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

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