基于在线 Microsoft Azure Elastic Scale 示例应用程序,我已经能够在 Azure 中创建我的 Shard Map Manager (SMM) 和弹性池数据库。我的架构是每个租户单独的数据库。我在我的 Web 应用程序中使用实体框架。我使用 byte[] 哈希作为基于字母数字客户名称的 Shard Key。客户名称是作为客户登录的一部分输入的,因此我可以在登录时确定要传递给 SMM 的唯一分片键。
我的问题是:
1.) 由于每个租户都有自己的数据库,我还需要在客户表的每一行中包含散列的客户名称/分片键吗?
2.) 我不明白在调用服务器期间分片密钥信息在何处传递给 SMM。它是在实体的上下文中还是需要成为查询本身的一部分?任何样品都将不胜感激!