Я использую .NetCore 3.1 с Entity Framework для API, используемого в игре javascript. У меня есть контроллер, который при использовании клиентом имеет событие POST, которое создает новый объект Dungeon в базе данных. Я не хочу, чтобы клиент генерировал идентификатор на своем конце, я хочу, чтобы API или база данных делали это.
Вот метод POST-контроллера:
// POST: api/DungeonLists
[HttpPost]
public async Task<ActionResult<DungeonList>> PostDungeonList(DungeonList DungeonList)
{
_context.DungeonList.Add(DungeonList);
await _context.SaveChangesAsync();
return CreatedAtAction("GetDungeonList", new { id = DungeonList.DungeonId }, DungeonList);
}
Это, сам по себе просто создает пустой GUID, как это: 00000000-0000-0000-0000-00000000000.
Итак, я подумал, что мне может понадобиться изменить базу данных.
Для столбца, который я хочу чтобы создать новый GUID, я добавил newsequentialid () для значения по умолчанию, например:
ALTER TABLE [dbo].[DungeonList] ADD CONSTRAINT [DF_DungeonList_DungeonID] DEFAULT (newsequentialid()) FOR [DungeonID]
Но даже с этим изменением я все еще получаю новые элементы с GUID 00000000-0000-0000- 0000-000000000.
Что я могу сделать не так?
Спасибо!