c# - ASP.NET Core 3.1:System.InvalidCastException:无法将“System.Int32”类型的对象转换为“System.Int64”类型
问题描述
我的控制器:
[HttpDelete("{roomId}")]
public async Task<IActionResult> Delete(string roomId)
{
var affectedResult = await _manageRoomService.Delete(roomId);
if (affectedResult == 0)
return BadRequest();
return Ok();
}
我的服务:我尝试了调试,它在代码块中停止foreach (var image in images)
。
public async Task<int> Delete(string roomId)
{
var room = await _context.Rooms.FindAsync(roomId);
if (room == null)
throw new EWebHotelException($"Cannot find a room: {roomId}");
var images = _context.RoomImages.Where(i => i.RoomId == roomId);
foreach (var image in images)
{
await _storageService.DeleteFileAsync(image.ImagePath);
}
_context.Rooms.Remove(room);
return await _context.SaveChangesAsync();
}
我在 FileStorageService.cs 中的方法:
public async Task DeleteFileAsync(string fileName)
{
var filePath = Path.Combine(_userContentFolder, fileName);
if (File.Exists(filePath))
{
await Task.Run(() => File.Delete(filePath));
}
}
在表 RoomImages 列Id
的类型为 int 32。
解决方案
推荐阅读
- powershell - 您可以在powershell中从具有多个数据行的变量动态构建哈希表吗?
- reactjs - 使用 React DropZone 但回调不更新
- django - 未捕获的类型错误:无法在 Object.success 处读取未定义的属性“字段”
- azure - 从 Azure 函数调用 Ms Graph 时会产生什么费用?
- sql - 连续列总和基于 sql server 中的另一列
- visual-studio-app-center - appcenter 将他们的日志存储在本地存储的什么位置?
- laravel - 服务器缓存文件
- python - 具有自适应窗口大小的移动平均
- sql - next_run_by_calendar_string HH24:MI 格式
- asynchronous - 如何处理异步 SOAP WS 客户端的故障?