Şu an üzerinde çalıştığım bir projede yeni Elastic Scale teknolojisini uygulamakla meşgulüm. Bu teknoloji, yeni uygulama temeli tasarlarken sahip olduğumuz bazı karmaşık sorunları çözmek için görünüyor.Veritabanı bağlamında bir Elastik Ölçekli çoklu sorgu sorgusu yürütme
Şimdiye kadar, örnekler harika görünüyor ve bunu yeni oluşturulan DAL'de uygulamakla meşgulüm.
Uygulamamız için yalnızca Azure'daki Elastik Ölçek'e güvenemeyiz. Uygulama, aynı zamanda, tek bir örnek makinede de çalışabilmelidir. Bu nedenle, Elastic Scale ile de oldukça iyi çalışan veritabanını sorgulamak için aşağıdaki kodu oluşturdum.
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;
}
connectionInstance
OurDatabaseContext
kullanabilirsiniz bir
IDbConnection
yaratacak IoC ile konfigüre edilir. Hepsi oldukça basit. Karşılaştığım ana konu, Elastic Scale tarafından sağlanan ve örneklerde uygulanan bir
MultiShardConnection
yapıyor.
Benim sorum şu ki, bir veritabanı bağlamında (LINQ2SQL (kullandığımız) veya EF) gibi bir MultiShardConnection
kullanmak mümkündür.
Değilse, MultiShardConnection
'u MultiShardCommand
ile birlikte kullanmanın tek çözüm mü? Ya da böyle bir özellik ne zaman müsait olacak?
Neden DsContext'de MultiShardConnection'ı kullanmaya çalışıyorsunuz? Bu makalede açıklanan yaklaşımı denediniz mi: http://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-scale-use-entity-framework-applications-visual-studio/ –