我正在嘗試使用 Angular 和 Web API 為一些簡單的 CRUD 操作創建應用程式。
我成功地將 Web API 和 Angular 連接到我的資料庫,但是每當我發出POST請求時(即使我的資料庫中沒有任何內容),我的 ID 從“記住”的最后一個數字開始TimeId,我想要它如果我的資料庫為空,則從 1 開始。
誰能告訴我為什么會發生這種情況以及如何解決這個問題?
我提出了我的POST請求,它在資料庫中看起來像這樣:

現在,如果我使用TimeId(使用 Swagger)洗掉它,我的資料庫將是空的。
但是如果我嘗試提出另一個POST請求,我TimeId不會從 1 開始,而是從 35 開始:

我POST在 Web API 中的方法是:
[HttpPost]
public async Task<ActionResult<Time>> PostTime(Time time)
{
_context.Times.Add(time);
await _context.SaveChangesAsync();
return CreatedAtAction("GetTime", new { id = time.TimeId }, time);
}
方法GetTime是:
[HttpGet("{id}")]
public async Task<ActionResult<Time>> GetTime(int id)
{
var time = await _context.Times.FindAsync(id);
if (time == null)
{
return NotFound();
}
return time;
}
當我POST從 Angular 端發出請求時,也會發生同樣的事情,但我想這是因為 Angular 正在使用POST來自 Web API 的方法。
uj5u.com熱心網友回復:
它與洗掉操作無關。
如果您允許資料??庫在插入時自動增加值,那么這就是您得到的行為。
您還必須了解 Delete、Truncate 和 RESEED 之間的區別。
因此,如果您真的想再次將其重置為 1,那么您必須在 SQL Server DB 中執行以下操作(其中表包含記錄的 DB)
DBCC CHECKIDENT ('your table name', RESEED, 1)
GO
注意:您尚未指定資料庫,因此我的解決方案適用于 SQL Server。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442877.html
標籤:sql 网 有角度的 数据库 asp.net-web-api
上一篇:MySQL 中如何歸檔資料
