現在取り組んでいるプロジェクトに新しいエラスティック スケール テクノロジを実装するのに忙しくしています。このテクノロジーは、新しいアプリケーション基盤の設計中に私たちが抱えていたいくつかの複雑な問題を解決するようです.
これまでのところ、例は見栄えがよく、新しく作成した DAL にこれを実装するのに忙しいです。
私たちのアプリケーションでは、Azure の Elastic Scale だけに頼ることはできません。アプリケーションは、オンプレミスの単一インスタンス マシンでも実行できる必要があります。そのため、Elastic Scale でも非常にうまく機能するデータベースを照会する次のコードを作成しました。
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
作成する IoC を介して構成されます。すべて非常に簡単です。IDbConnection
OurDatabaseContext
私が直面している主な問題はMultiShardConnection
、Elastic Scale によって提供され、例に実装されている を実行することです。
したがって、私の質問は、MultiShardConnection
データベース コンテキスト (LINQ2SQL (使用している) または EF のものなど) で a を使用することは可能かということです。
MultiShardConnection
そうでない場合、と を組み合わせて使用する唯一の解決策はありMultiShardCommand
ますか? または、そのような機能はいつ利用可能になりますか?