Как я могу использовать несколько строк соединения в рамках сущности в проекте? - PullRequest
0 голосов
/ 18 февраля 2019

Я создал класс репозитория и имею следующий код:

public class InventoryDA : Accident_Reporting_Entities
{

}

Web.config:

<add name="Accident_Reporting_Entities" connectionString="metadata=res://*/Models.IncidentModel.csdl|res://*/Models.IncidentModel.ssdl|res://*/Models.IncidentModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server;initial catalog=Accident_Reporting;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

<add name="Accident_Reporting_Entities2" connectionString="metadata=res://*/Models.IncidentModel.csdl|res://*/Models.IncidentModel.ssdl|res://*/Models.IncidentModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server;initial catalog=Accident_Reporting2;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

Мне интересно, как я могу иметь несколько соединений и заменитьAccident_Reporting__Entities с другой строкой подключения.Соединения имеют разные базы данных, которые имеют одинаковый дизайн.Можно ли проверить переменную сеанса и изменить это соединение в соответствии с переменной, и будет ли это наилучшим способом?

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете использовать один и тот же DbContext с несколькими строками подключения:

public partial class SchoolDBEntities : DbContext
{
    public SchoolDBEntities(string connectionString) : base(connectionString)
    {

    }
}

var db1 = new SchoolDBEntities("Server=myServerAddress;Database=myDataBase1;User Id=myUsername;Password=myPassword;");
var db2 = new SchoolDBEntities("Server=myServerAddress;Database=myDataBase2;User Id=myUsername;Password=myPassword;");

Или вы можете передать конструктору имя ключа в файле Web.config:

<configuration>
    <connectionStrings>
        <add name="myDataBase1" connectionString="Server=myServerAddress;Database=myDataBase1;User Id=myUsername;Password=myPassword;" />
        <add name="myDataBase2" connectionString="Server=myServerAddress;Database=myDataBase2;User Id=myUsername;Password=myPassword;" />
    </connectionStrings>
</configuration>

var db1 = new SchoolDBEntities("myDataBase1");
var db2 = new SchoolDBEntities("myDataBase2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...