我在web.config中需要两个连接字符串吗?

时间:2013-04-03 15:29:35

标签: c# asp.net-mvc entity-framework

我的代码出现问题。我在KekantoContext.cs文件中有这个类

  public class KekantoContext : DbContext
{

    public DbSet<Lugar> Lugares { get; set; }
    public DbSet<Categoria> Categorias { get; set; }
    public DbSet<UserMessage> UserMessages { get; set; }

  }

我在AccountModel.cs文件中有另一个类:

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

    public DbSet<UserProfile> UserProfiles { get; set; }
}

我想知道我的web.config文件中是否需要有2个连接字符串。

我有这个:

    <connectionStrings>
  <add name="KekantoContext"
 connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Kekanto.mdf;Integrated Security=True"
 providerName="System.Data.SqlClient"/>

   <add name="UsersContext"
 connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Kekanto.mdf;Integrated Security=True"
 providerName="System.Data.SqlClient"/>

</connectionStrings>

代码不适用于这两个connectionStrings,但我想知道一个可能的解决方案是否需要2个连接字符串

2 个答案:

答案 0 :(得分:0)

     public class UsersContext : DbContext
     {
         public UsersContext()
           : base("UsersContext")
         {
         }

          public DbSet<UserProfile> UserProfiles { get; set; }
     }

答案 1 :(得分:0)

我认为将参数设置为uctwo连接字符串的名称就可以了,你只需将你想要使用的字符串的名称传递给他。

public UsersContext()
        : base("UsersContext")
    {

    }

或者你可以在运行时

   public UsersContext(string connect)
            : base(connect)
        {

        }

UserContext =  new UserContext("UsersContext");