我目前正忙于在我正在进行的项目中实施新的 Elastic Scale 技术。这项技术似乎解决了我们在设计新应用程序基础时遇到的一些复杂问题。
到目前为止,这些示例看起来很棒,我正忙于在我们新创建的 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 提供并在示例中实现。
所以我的问题是,是否可以将 aMultiShardConnection
与数据库上下文一起使用(例如 LINQ2SQL(我们正在使用)或 EF 的上下文)。
如果不是,是唯一将 与MultiShardConnection
结合使用的解决方案MultiShardCommand
吗?或者这样的功能何时可用?