Tôi đang bận triển khai kỹ thuật quy mô đàn hồi mới trong dự án mà tôi đang làm việc vào lúc này. Công nghệ này dường như giải quyết một số vấn đề phức tạp mà chúng tôi gặp phải khi thiết kế nền tảng ứng dụng mới.Thực hiện truy vấn phân chia theo thang tỷ lệ co giãn trên ngữ cảnh cơ sở dữ liệu
Cho đến nay, các ví dụ trông tuyệt vời và tôi đang bận triển khai điều này trong DAL mới được tạo của chúng tôi.
Đối với ứng dụng của chúng tôi, chúng tôi không thể chỉ dựa vào Thang đo đàn hồi trong Azure. Ứng dụng này phải có khả năng chạy trên một máy ví dụ đơn lẻ, tại chỗ, cũng vậy. Vì vậy, tôi đã tạo mã sau đây để truy vấn cơ sở dữ liệu hoạt động khá tốt, cũng với Quy mô Đàn hồi.
public IEnumerable<AnEntity> All()
{
var dbConnection = GetConnection();
using (var context = new OurDatabaseContext(dbConnection))
{
var theEntities = context.EntityTable;
return theEntities.ToArray();
}
}
private IDbConnection GetConnection()
{
var connectionInstance = connection[ConnectionStringNames.TheDatabase];
var dbConnection = connectionInstance.Create();
return dbConnection;
}
Các connectionInstance
được cấu hình thông qua IoC mà sẽ tạo ra một IDbConnection
mà chúng tôi có thể sử dụng trong OurDatabaseContext
. Tất cả khá đơn giản.
Vấn đề chính tôi đang gặp phải là thực hiện MultiShardConnection
, do Quy mô đàn hồi cung cấp và được triển khai trong các ví dụ.
Vì vậy, câu hỏi của tôi là, có thể sử dụng MultiShardConnection
với ngữ cảnh cơ sở dữ liệu (giống như của LINQ2SQL (mà chúng tôi đang sử dụng) hoặc EF).
Nếu không, là giải pháp duy nhất để sử dụng MultiShardConnection
kết hợp với MultiShardCommand
? Hoặc khi nào một tính năng trở nên khả dụng?
Tại sao bạn đang cố gắng sử dụng MultiShardConnection trong DbContext? Bạn đã thử cách tiếp cận được mô tả trong bài viết này - http://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-scale-use-entity-framework-applications-visual-studio/ –