【问题标题】:Repository or dependency injection library for AzureAzure 的存储库或依赖项注入库
【发布时间】:2010-11-27 21:23:56
【问题描述】:

谁能给我指出一个适合 Azure 数据服务变体的存储库或依赖注入库?

我正在寻找将应用程序推向市场的更快方法,并且想要一个允许(甚至更多)最小编码以将实体持久化并将实体检索到云的库。

最好是在 C# 中提供源代码访问的库。

干杯!

【问题讨论】:

  • Azure 表服务还是 SQL Azure?
  • 到目前为止,我只使用过 SQL 数据服务 (SDS)。但是随着最近的所有名称更改,这可能与您提到的两个之一相同。如果没有成本差异,我真的不在乎使用什么,只要抽象库把它做成一个黑盒子。

标签: c# dependency-injection azure repository-pattern


【解决方案1】:

显然 NHibernate 与 Azure 一起工作:

NHibernate on the cloud: SQL Azure

【讨论】:

    【解决方案2】:

    如果您打算坚持使用 RDBMS(并且您应该能够为此使用任何现有的 RDBMS 存储库实现),SQL Azure 是您的最佳选择。

    但是,如果您想使用更具可扩展性的 Table Storage,那么您可能需要查看 CloudStorage.API,它提供了一个包装器(它声称也针对其他云存储端点,但 AFAICT 它相当Azure 特定)。与 Azure 示例中提供的实现相比,它还将支持更好的单元测试和依赖注入。

    您将拥有一个与IEntityTableDataContext 一起使用的Unit Of Work 接口,然后在此基础上创建自己的Repository 实现应该不需要太多努力。

    您需要注意的主要事情是Table Storage 对您的实体施加的限制——它们基本上需要是非常简单的属性公开类。对于更丰富的域模型,您可能希望探索将这些数据实体映射到您的域实体(您也可以在这里使用AutoMapper 来帮助您)。

    【讨论】:

      【解决方案3】:

      您可以查看Lokad.Cloud - 专为 Azure 设计的 O/C 映射器(对象到云)。特别是,我们通过autofac 提供了对 IoC 的内置支持。源代码在 C# 中可用。

      【讨论】:

        猜你喜欢
        • 2018-05-02
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 2016-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多