मेरे पास एक एप्लिकेशन सेवा विधि GetWithName है और मैं इसका async संस्करण लिखना चाहता हूं। ऐसा करने के लिए मैंने ToListAsync() का उपयोग करने का प्रयास किया है लेकिन भंडार में यह विधि नहीं है।

public PagedResultDto<BookDto> GetWithName(SearchWithNameRequestDto input)
{
    var books = 
        Repository
        .Where(p => p.Name.Contains(input.Name))
        .ToList();

    return new PagedResultDto<BookDto>
    {
        TotalCount = books.Count,
        Items = ObjectMapper.Map<List<Book>, List<BookDto>>(books)
    };
}

मैं ToList विधि के async संस्करण का उपयोग कैसे कर सकता हूं?

0
gDir 16 पद 2019, 14:14

1 उत्तर

सबसे बढ़िया उत्तर

ToListAsync ORM पर निर्भर है:

// using Microsoft.EntityFrameworkCore;

var query = Repository
    .Where(p => p.Name.Contains(input.Name));
var books = await query.ToListAsync();

DI (ORM-स्वतंत्र) समाधान के लिए, IAsyncQueryableExecuter इंजेक्ट करें और करें:

// using Abp.Linq;

var query = Repository
    .Where(p => p.Name.Contains(input.Name));
var books = await _asyncQueryableExecuter.ToListAsync(query);
3
aaron 16 पद 2019, 13:14