Categories
程式開發

手把手教你ASP.NET Core:使用Entity Framework Core進行增刪改查


新建表Todo,如圖

手把手教你ASP.NET Core:使用Entity Framework Core進行增刪改查 1

添加模型類

在“解決方案資源管理器”中,右鍵單擊項目。選擇“添加” > “新建文件夾”。將文件夾命名為Models。右鍵單擊Models 文件夾,然後選擇“添加” > “類” 。將類命名為Todo,然後選擇“添加”。

使用系統;

命名空間Course001.Models

{

公共課Todo

{

公共Guid ID {get; 組; }

公共字符串名稱{get; 組; }

}

}

添加數據庫上下文

右鍵單擊Models 文件夾,然後選擇“添加” > “類” 。將類命名為TodoContext,然後單擊“添加”。

使用Microsoft.EntityFrameworkCore;

命名空間Course001.Models

{

公共類TodoContext:DbContext

{

公共TodoContext(DbContextOptions選項)

:基礎(選項)

{

}

公共DbSet Todos {get; 組; }

}

}

註冊數據庫上下文

在ASP.NET Core 中,服務(如數據庫上下文)必須向依賴關係注入(DI) 容器進行註冊。該容器向控制器提供服務。

在Startup.cs文件中增加services.AddDbContext,代碼如下:

公共無效ConfigureServices(IServiceCollection服務)

{

services.AddDbContext(opt => opt.UseSqlServer(Configuration.GetConnectionString(“ TodoContext”))));

services.AddControllers();

}

在appsettings.json文件中增加ConnectionStrings,代碼如下:

“ ConnectionStrings”:{

“” TodoContext“:”服務器=。\ SQLEXPRESS;數據庫=課程; uid = sa; pwd = 123456;池=’true’;最小池大小= 3;“

},

修改TodosController.cs文件實現增刪改查

使用系統;

使用System.Collections.Generic;

使用System.Linq;

使用System.Threading.Tasks;

使用Microsoft.AspNetCore.Http;

使用Microsoft.AspNetCore.Mvc;

使用Microsoft.EntityFrameworkCore;

使用Course001.Models;

命名空間Course001.Controllers

{

[Route(“api/[controller]“)]

[ApiController]

公共類TodosController:ControllerBase

{

私有隻讀TodoContext上下文;

公共TodosController(TodoContext上下文)

{

this.context =上下文;

}

///

/// 獲取所有待辦事項

///

///

[HttpGet]

公共異步任務> GetTodos()

{

返回等待上下文。Todo.ToListAsync();

}

///

/// 按ID獲取項

///

///

///

[HttpGet(“{id}”)]

公共異步任務 GetTodo(嚮導ID)

{

var todo =等待上下文。Todo.FindAsync(id);

如果(todo == null)

{

返回NotFound();

}

全部歸還

}

///

/// 添加新項

///

///

///

[HttpPost]

公共異步任務 PostTodo(全部)

{

todo.Id = Guid.NewGuid();

context.Todo.Add(全部);

等待context.SaveChangesAsync();

return CreatedAtAction(“ GetTodo”,new {id = todo.Id},todo);

}

///

/// 更新現有項

///

///

///

///

[HttpPut(“{id}”)]

公共異步任務 PutTodo(Guid ID,Todo待辦事項)

{

var oldTodo =等待上下文。Todo.FindAsync(id);

oldTodo.Name = todo.Name;

context.Entry(oldTodo).State = EntityState.Modified;

等待context.SaveChangesAsync();

返回oldTodo;

}

///

/// 刪除項

///

///

///

[HttpDelete(“{id}”)]

公共異步任務 DeleteTodo(嚮導ID)

{

var todo =等待上下文。Todo.FindAsync(id);

如果(todo == null)

{

返回NotFound();

}

context.Todo.Remove(全部);

等待context.SaveChangesAsync();

全部歸還

}

}

}

通過Postman 測試添加新項

創建新請求。將HTTP 方法設置為“POST”。將請求URI 設置為https://localhost:44342/api/todos。選擇“正文”選項卡。選擇“原始”單選按鈕。將類型設置為JSON (application/json)在請求正文中,輸入待辦事項的JSON:

{

“Name”:”遛狗”

}

選擇Send。

手把手教你ASP.NET Core:使用Entity Framework Core進行增刪改查 2

小結

到此我們的ASP.NET Core API項目,已經實現“待辦事項”的增刪改查。但這些僅僅作為Demo參考,接下來我們會深入介紹一下我們在ASP.NET Core應用到的這些技術。