2017-02-21 82 views
-1

我正在C#和sql server 2012上工作。我是.Net核心中的新成員。我想爲我的工作使用.net核心來覆蓋web api 2,所以我想知道如何在web api 2和.net core中執行CRUD操作。謝謝。使用.Net核心和Web API的CRUD操作2

+0

https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api /教程你先網上API – zwcloud

回答

0

在我回答你的問題之前,讓我告訴你一些可能會改變你看.net核心的東西。 在正常的MVC .NET Framework 4.x中,您可以選擇WebAPI2或正常的MVC。 在.net內核中,兩者合併,意味着你選擇哪一個並不重要。他們指向相同的圖書館。

根據CRUD,您可以使用[HttpGet],[HttpPost],[HttpPut]和[HttpDelete]屬性爲端點提供特定的功能。 如果你想從請求的主體獲取參數,你可以使用HttpContext.Request.Form [「parameter name」]。

您還可以使用端點構造函數中的[FromBody]屬性將對象映射到模型。

就數據庫而言,您可以使用Entity Framework的代碼優先方法根據您的模型生成數據庫。

對於深入EF的東西,你可以去這裏:https://docs.microsoft.com/en-us/ef/core/

1

我建議你先檢查下列文件:https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro

關於如何使用LINQ明白,在這裏執行的ORM基於查詢,請檢查這一個:https://msdn.microsoft.com/en-us/library/bb399367(v=vs.110).aspx

你有兩個查詢&方法語法的例子。我更喜歡方法,但只要你在你的應用程序中保持一致,兩者都可以。

如果你要使用這個實體框架的做法,這裏是一個簡單的例子:

  1. 定義,你會在你的項目中使用,如建築:

    • API控制器(與.Net核心中的正常控制器相同)
    • 服務層
    • 回購層
  2. 回購層內注入AppplicationDbContext和寫入方法,例如:

GetAllAsync(), GetByIdAsync, UpdateAsync(), DeleteAsync(), CreateAsync() ...

  • 通過接口暴露此服務層。在您需要的服務層中添加任何業務邏輯。

  • 然後你的API控制器內可以使用例如這樣的事情:

    等待_serviceName.GetAllAsync()..

  • 以JSON或任何其他您需要的格式返回結果。

  • 相關問題