0

Я работаю с Asp.Net web api, framework framework & SQL Azure. В моем решении решение имеет .edmx файл, созданный из базы данных. следующие объекты контекста кода.Как подключить базу данных корневой базы данных Azure и применить федерацию в структуре сущности DBContext?

public partial class Entities : DbContext  
{   
    public Entities(): base("name=Entities") 
    {   }    
    protected override void OnModelCreating(DbModelBuilder modelBuilder)   
    {    throw new UnintentionalCodeFirstException();   }    
    public DbSet<Activity> Activities { get; set; } 
} 

Это многопользовательские приложения, основанные на входе пользователя в системе мне нужно подключиться к базе данных с определенным shardId (Федерация ID).

private Entities _db = new Entities(); 

При создании экземпляра в dbcontext я хотел бы установить новое соединение на основе Shardid.

ответ

2

Проведя слишком много времени, я понял. Его работы прекрасны для меня.

var customerEntity = new Entities(ConnectionStringCustomerDB()); 
        var connection = new SqlConnection(); 
        connection =(SqlConnection) customerEntity.Database.Connection; 
        connection.Open(); 
        var command = new SqlCommand();     
        string federationCmdText = @"USE FEDERATION Customer_Federation(ShardId =" + shardId + ") WITH RESET, FILTERING=ON"; 
        command.Connection = connection; 
        command.CommandText = federationCmdText; 
        command.ExecuteNonQuery(); 
return Entities; 

Необходимо преобразовать соединение EntityDatabase в SqlConnection, выполнить команду объединения как обычный способ.

Объекты будут выполнять запросы по указанному shardId, подключается к правой базе данных.

Смежные вопросы