我正在制作一个 Web 应用程序,并正在学习 ASP.NET Core 编程入门教程。
到目前为止,我已经使用实体框架创建了本地 SQL Server 数据库,一切都很好。我想问一下部署的问题。
我希望将网站部署到托管服务器,并且想知道应用程序是否会与数据库一起部署,或者如何使数据库与网络上的应用程序一起工作。
我希望得到准确的解释和/或文章,因为我很困惑,并且有些文章声称 SQL Server 需要一些安装和配置。
哪种数据库类型最适合 .NET Core Web Apps 以便轻松部署?如何创建或部署数据库来与我的 Web 应用程序配合使用?
我将不胜感激准确的答案。
取决于您的需求。 MSSQL 是 EF Core 中的默认设置,但属于专有且昂贵。我更喜欢开源软件(.NET core 本身也是操作系统!),因此我将 MySQL 与 EntityFramework 和 Pomelo.EntityFrameworkCore.MySql 驱动程序包一起使用。通过.NET Core 之前的其他项目(例如 PHP)的经验,我的 MySQL 知识也更加丰富。我已经在 .NET 1 以及当前的 2.1 LTS 上使用它多年,并且效果很好。
根本不存在“最好的数据库”,因为每个工作负载都有好的数据库。例如,当拥有非结构化数据时,NoSQL 数据库可能比任何 RDBMS 都能更好地完成这项工作。 我会选择数据库
数据类型
您应该考虑整个软件堆栈的架构。至少会有一个 ASP.NET Core 应用服务器和数据库服务器。也许还有一些反向代理服务器,具体取决于您的需要。
您可以自己回答几个问题,以了解托管:
托管平台是什么?我是否使用例如虚拟机还是(Docker)容器?