Как обработать EntityNotFoundException в Abp vNext? - PullRequest
0 голосов
/ 18 марта 2020

Я просматривал модуль блогов abp. В репозитории есть код, подобный приведенному ниже. https://github.com/abpframework/abp/blob/dev/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs

public async Task<Post> GetPostByUrl(Guid blogId, string url)
{
    var post = await DbSet.FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);

    if (post == null)
    {
        throw new EntityNotFoundException(typeof(Post), nameof(post));
    }

    return post;
}

Я тестирую модуль и получаю ошибку, как удар, если нет объекта.

Произошло необработанное исключение при обработке запрос. EntityNotFoundException: такой сущности нет. Тип объекта: Volo.Blogging.Posts.Post, id: post Volo.Blogging.Posts.EfCorePostRepository.GetPostByUrl (Guid blogId, строковый URL) в EfCorePostRepository.cs, строка 35

Это нормально для получить это исключение, если нет сущности, но как показать страницу 404 или сообщение, как будто нет записи для пользователя? Я пытался сгенерировать UserFriendlyException, но все равно получаю и страница ошибки.

...