Azure的存储库或依赖注入库

时间:2009-09-13 10:16:04

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

任何人都能指出我在Azure数据服务的任何变体的体面的存储库或依赖注入库吗?

我正在寻找更快的方法将应用程序推向市场,并希望一个允许(甚至更多)最小编码的库能够持久存储并将实体检索到云端。

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

干杯!

3 个答案:

答案 0 :(得分:3)

显然NHibernate适用于Azure:

NHibernate on the cloud: SQL Azure

答案 1 :(得分:2)

如果您计划坚持使用RDBMS,那么SQL Azure就是您的选择(并且您应该能够使用任何现有的RDBMS存储库实现)。

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

您可以使用Unit Of Work界面与IEntityTableDataContext合作,然后在此基础上创建自己的Repository实施不需要太多努力。

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

答案 2 :(得分:2)

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