Member 13220552 Ответов: 1

Я хочу удалить несколько в таблице с идентификатором GUID идентификатор ASP.NET основной


привет, можно мне немного Хела, пожалуйста.
у меня есть ошибка в строке, где попробуйте сравнить с Guid

спасибо


<pre> [HttpDelete("{id}")]
        public async Task<ActionResult<StockTranfert>> DeleteStockTranfert(Guid id)
        {
            var stockTranfert = await _context.StockTranfert.FindAsync(id);
            var stockTransfertDtail = await _context.StockTransfertDetail.Where(w => w.StockTransfertId == id);


            if (stockTranfert == null)
            {
                return NotFound();
            }

            _context.StockTranfert.Remove(stockTranfert);
            _context.StockTransfertDetail.Remove(stockTransfertDtail);

            await _context.SaveChangesAsync();

            return stockTranfert;
        }


Что я уже пробовал:

у меня есть попытка равнять fonction для сравнения, но это то же самое, я попытался преобразовать два значения в строку перед сравнением, это то же самое.

после этого , когда я получу строку, я хочу удалить ее в этой строке
_context.StockTransfertDetail.Remove(stockTransfertDtail);

1 Ответов

Рейтинг:
12

Richard Deeming

Если вы хотите, чтобы мы помогли вам исправить ошибку, то вам нужно сказать нам, в чем заключается ваша ошибка.

При предположении, что вы получаете ошибку на var stockTransfertDtail линия потому что ты пытаешься это сделать await что-то, чего нельзя ждать. То Where метод расширения возвращает IQueryable<T> не Task<T>. Вам нужно добавить .ToListAsync() к этой строке:

var stockTransfertDtail = await _context.StockTransfertDetail.Where(w => w.StockTransfertId == id).ToListAsync();
Однако непонятно, зачем вы загружаете этот список, поскольку вы ничего с ним не делаете.

Если это не проблема, то вам нужно обновить свой вопрос, чтобы включить полную информацию об ошибке, которую вы получаете.


Member 13220552

спасибо Ричарду Димингу , я сделал это , после того как я просто хочу удалить строку , я обновил свой вопрос ,

я хочу удалить некоторые данные, в которых есть внешний ключ StockTransfertDetail это моя проблема ,

когда я сделаю твой ответ ,

у меня есть ошибка в

_context.StockTransfertDetail.Remove(stockTransfertDtail);

Richard Deeming

Опять же, если вы хотите, чтобы кто-то помог вам исправить ошибку, вы должны сказать нам, в чем заключается ошибка.

Предположим, вы пытаетесь передать список объектов методу, который принимает только один объект. В зависимости от того, какую версию Entity Framework вы используете, вам нужно будет либо вызвать RemoveRange, или перебрать список и Remove каждый элемент.

Member 13220552

за ошибку я поделюсь в следующий раз , спасибо тебе, Ричард .
для меня, когда я имею в виду линию, этого достаточно.

спасибо Вам за ваш ответ