如何与 Entity Framework 部署或共享代码优先项目

How to deploy or share code-first project with Entity Framework

我用 .NET 6 和 EF 做了一个小的 REST API,数据库在 Microsoft SQL 服务器中。我生成了我的 类 和我的控制器,但现在我想将它发送给对等方,我想让对等方尽可能容易地在自己的计算机上 运行 它。这些是当时的迁移:

我担心的是,我使用已经 运行ning SQL 服务器代理等生成了我的数据库,然后我使用 EF 更新了数据库,所以这引发了一些问题:

  1. 我的同事需要在他们的计算机上安装什么才能 运行 我的项目?
  2. 我需要做什么才能在其他机器上为 运行 项目生成 .exe?
  3. 是否有免费的方法将其部署到 Azure 或其他云环境中?

谢谢。

1- 您的朋友需要 visual studio 在他的计算机上安装正确版本的 .net,以及 运行ning SQL 服务器实例(本地或远程)。

2- 如果您希望您的项目 运行 在其他人的机器上而无需 运行 宁 SQL 服务器实例的麻烦,您可以使用 EF 的 InMemoryDatabase (有一些限制,但适用于小型项目)。我不是专家,但我认为您也可以为 api + 数据库使用 docker 图像。

3- 有很多云提供商提供免费或廉价的托管计划。 Azure 对一些学生来说是免费的,但在其他情况下是付费服务。

您可以创建新的 Azure 帐户并使用免费的起始奖金(如 50 美元)来部署您的应用程序和您的数据库。出于同样的原因,我在 Azure 中部署了我的应用程序,并且我为应用程序和数据库一起支付了 5 美元(因为我已经使用了奖金)。 只需要仔细制定您的订阅计划即可。这样每个人都可以从任何地方打开和操作您的应用程序。

您有从 Visual Studio 发布到 Azure 的直接连接。

您可以使用 YouTube 中许多指南中的一些来进行直接部署 https://www.youtube.com/watch?v=MOG4yp7Zmrc

What does my peer need to install in their computer to run my project?

您的同伴可以 运行 它在收到 已发布的 文件和 SQL 剧本。这样,他只需要一个网络服务器(IIS)和SQL服务器(Express等)。为了开发目的,他必须提供相同版本的.net框架和类似于或能够转换您的解决方案的编译器。对于数据库,他可以在 MSSQLSERVER 的不同 version/distribution 上执行 SQL 脚本(除非您使用 distribution-specific 等高级功能)。

What do I need to do to generate .exe's to run the project in some other machine?

只需发布您的项目。这足以 运行 在具有相同版本的 .net 框架的 windows 机器上。您也可以在 bin 目录中使用生成的文件(不推荐)。

Is there a free way to deploy this into Azure or some other cloud environment?

大多数云服务免费提供有限的服务。这取决于您的应用需求。