为啥我们在进行 CRUD 操作时使用 Asp.net WebApi?
Posted
技术标签:
【中文标题】为啥我们在进行 CRUD 操作时使用 Asp.net WebApi?【英文标题】:why we use Asp.net WebApi while doing CRUD operations?为什么我们在进行 CRUD 操作时使用 Asp.net WebApi? 【发布时间】:2020-05-15 18:30:01 【问题描述】:我们可以使用实体框架进行 CRUD 操作,但我们也可以使用实体框架和 Web Api 进行相同的 CRUD 操作。但是为什么我们需要使用 WEebApi。请给出一个实时示例..尝试在不使用它的情况下说出答案是重量轻或提供宁静的服务.. 请区分使用实体框架的 CRUD 操作和 EF + webApi ..当我们互相使用时会发生什么。
【问题讨论】:
【参考方案1】:实体框架是一个 ORM。假设您构建了一个独立运行的 Web 应用程序,具有 UI 并将内容保存到数据库。在这样一个简单的场景中,尝试通过添加 API 来使事情复杂化是没有意义的,因此您的 ORM 就绰绰有余了。
现在,假设您有 2 个应用程序,一个是 Web 应用程序,一个是移动应用程序。他们都获取数据,并且都需要将数据保存到数据库中。
您如何在不重复工作的情况下实现这一目标?这是需要 API 的时候。 您构建了一个 API,将数据库操作隐藏在其背后,现在您的 Web 应用程序和移动设备都可以与一个公共层通信并使用相同的数据。如果多个应用需要共享相同的数据,这是一种非常常见的情况。
当然还有其他用例,有时整个企业都专注于向客户提供数据,并且不想过多担心他们将如何做。他们将提供 API、记录标准、保护他们的 API 并让客户根据需要使用它。
【讨论】:
【参考方案2】:Entity Framework 是一个对象关系映射器 (O/RM),有助于从 DB 访问数据。 可用于执行 CRUD 操作、执行存储过程、查询视图等。
Web API 类似于 Web 服务。它主要用于通过 HTTP 进行通信,这是实体框架无法做到的。 Web API 可以通过 Http 接收请求,调用数据访问层(EF)进行数据访问操作。
希望对你有帮助!!!
【讨论】:
以上是关于为啥我们在进行 CRUD 操作时使用 Asp.net WebApi?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我们必须使用 @Modifying 注解在 Data Jpa 中进行查询