как реализовать ГДЕ в асинхронном методе

Для базы данных с высокой активностью вы можете столкнуться с проблемами, когда ваши обновления влияют на активное изменение записей, и по этой причине я рекомендую использовать snapshot ()

db.person.find().snapshot().forEach( function (hombre) {
    hombre.name = hombre.firstName + ' ' + hombre.lastName; 
    db.person.save(hombre); 
});

http: // docs .mongodb.org / ручной / ссылки / метод / cursor.snapshot /

-1
задан TheRuler 16 January 2019 в 06:49
поделиться

3 ответа

Вы должны добавить его пространство имен, которое включено в EntityFramework.dll.

Пожалуйста, найдите его здесь .

0
ответ дан Bit Helper 16 January 2019 в 06:49
поделиться

Вам нужно использовать выражение, а не функцию.

Итак:

public async Task<IEnumerable<TEntity>> Where(Expression<Func<TEntity, bool>> predicate)
{
    var tmp = await this.DbSet.Where(predicate).ToListAsync();
    return tmp;
}

Func<TEntity, bool> ожидает фактическую функцию, а Expression<Func<TEntity, bool>> ожидает дерево выражений. IQueryable строит ваш SQL-запрос на основе этого дерева выражений. Используя Func, вы вызываете перегрузку Where из обычного LINQ, которая возвращает IEnumerable. Который не имеет ToListAsync.

0
ответ дан juunas 16 January 2019 в 06:49
поделиться

Вам необходимо импортировать пространство имен Microsoft.EntityFrameworkCore. См. Официальную документацию для получения более подробной информации.

0
ответ дан Nick 16 January 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: