【问题标题】:Strategy for Data Access Layer development that escalates from sqlite to SQL Azure从 sqlite 升级到 SQL Azure 的数据访问层开发策略
【发布时间】:2014-09-11 01:04:50
【问题描述】:

我想开始一个相当大的项目(最后)。我选择的工具基本上是 ASP.NET MVC/WEB Api。

我想在一开始就使用 SQLite 或 SQL Developer 版本进行开发。

然后,当我上线时,我会计划使用 SQL Server 2012/2014 实例转到共享主机。

我的目标是,如果一切正常,就可以转换为云和 Azure。

所以我想增强/验证的计划是:

前端:

由于我对 AngularJS/Knockout 等的了解有限。我将从使用普通的 Jquery/web API 方法开始,然后逐渐转换最新的最佳实践和标准。

后端:

  • 编程到接口。我将为我的 DAL 提供一个接口
  • 为我的不同案例实现不同的接口(sqlite/sql server/azure 等)

为了快速开始构建它,我将从一个好的域类设计开始,然后结合 轻量级 ORM (Dapper) 前往 SQLite为了让我的逻辑快速启动并运行。

这篇帖子:SQl Azure offline,建议我可以立即开始为 sql azure 开发,但我不知道我是否能负担得起从一开始就使用 azure。

【问题讨论】:

  • 您知道 SQLite 和 SQL Server 查询看起来完全不同,您可能需要重新创建一些/许多查询?!
  • 是的。我计划对 Dapper 使用快速而肮脏的解决方案,但我将在不同的 DAL 实现之间拥有相同的域类。我在第一个版本和第二个版本之间有几个月的时间会广泛公开......
  • 根据我的经验,快速而肮脏的解决方案永远不会消失并永远存在。
  • 虽然一开始就优先在Azure上测试,但不是必须的。大多数标准 ASP.NET MVC 应用程序都可以轻松迁移,只要确保优化性能即可。如果您注册 BizSpark,您还可以获得免费使用 Azure 的积分。
  • 是的,我就是这么做的。

标签: sql-server asp.net-mvc azure-sql-database data-access-layer


【解决方案1】:

Sql Azure 与 Sql Server 2014 基本相同。如果您从免费的 SQL Server Express 版本开始,那么以后迁移到 SQL Azure 将很少遇到问题,尤其是如果您使用像 SQL Server Migration Wizard 这样的工具,也许设置一个免费的 Azure 试用帐户,以便您可以随时进行测试?

【讨论】:

  • 如果我的第一步想成为 SQL Server 2012 共享主机(不是 azure)?
  • 这取决于您使用的数据库功能以及它将如何移植到 Azure。 SSMWizard 非常好,但我不能保证它会满足您的需求
  • 所以我必须查看 sql azure / sql server 之间的“共同”功能并决定使用它们......
  • 您可以针对本地数据库运行 MigrationWizard,它会报告任何兼容性问题。如果你这样做,那么应该没问题。
  • 是的 - 虽然我认为您不太可能使用 SQL 中未在 Azure 版本中启用的功能,但最好经常检查,然后在出现问题时解决问题
【解决方案2】:

您可以只使用@Neil Thompson 提到的本地 Sql 版本,如果您使用的是 SQL Server 数据库项目,则可以选择将您的部署定位到 SQL Azure 数据库而不是完整版的 Sql Server,

我一直在使用上述选项,没有太大问题。

Azure 中的 Sql Federation,我认为这是本地/本地 Sql 版本中唯一不受支持的主要功能,您需要 Sql Azure 进行日常开发/测试。

【讨论】:

    猜你喜欢
    • 2011-05-08
    • 2020-11-13
    • 2012-11-21
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多