【发布时间】:2016-02-27 23:42:36
【问题描述】:
我计划在我的 ASP.NET 5 (MVC 6) 应用程序中使用 Azure 表存储,并添加了 WindowsAzure.Storage NuGet 包,但是当我注意到我的所有实体模型都需要继承自Microsoft.WindowsAzure.Storage.Table.TableEntity。现在我认为最好的解决方案是拥有 2 组实体并在我的主要域对象和用于持久存储到表存储的实体对象之间创建映射。我不想将WindowsAzure.Storage 包添加到我的所有项目中。
已弃用的 azure-sdk-for-net 曾一度支持 POCO,但我在当前的 WindowsAzure.Storage 中看不到这一点。
这里的最佳做法是什么?
【问题讨论】:
-
对于表存储需要类从 TableEntity 继承,所以绝对需要 storage namespace 。您可以将表实体视为 edmx,并且需要具有映射器类来将表实体转换为纯 POCO 模型类。虽然你可以使用继承自 TableEntity 的模型类
-
是的,正是梅什!但这是我想要避免的。当然,我需要在我正在实现持久性机制的项目中引用 WindowsAzure.Storage,但我有一个不同的项目/程序集来保存我的模型对象。我希望这些模型对象是干净的 POCO,而不是以任何方式与 TableEntity 或任何其他库绑定。
-
同意 OP。我认为 "stores structured NoSQL data in the cloud" 的东西实际上需要 结构化数据 !
标签: c# asp.net azure asp.net-core azure-table-storage