Abp Framework缺少IRepository.AsNoTracking()(或不能使用Select,Where)



在当前版本(3.3.1(中,我使用了IRepository.AsNoTracking,它运行良好。但当我将Abp升级到最新版本时,它无法工作。

这里有两个具有不同结构的程序集(没有IQueryable,不使用Assembly Microsoft.EntityFrameworkCore,…(:

  1. 版本3.3.1:
Assembly Volo.Abp.Ddd.Domain, Version=3.3.1.0
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.Domain.Entities;

namespace Volo.Abp.Domain.Repositories
{
public interface IRepository<TEntity, TKey> : IRepository<TEntity>, IReadOnlyRepository<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, IEnumerable, IQueryable, IReadOnlyBasicRepository<TEntity>, IRepository, IBasicRepository<TEntity>, IReadOnlyRepository<TEntity, TKey>, IReadOnlyBasicRepository<TEntity, TKey>, IBasicRepository<TEntity, TKey> where TEntity : class, IEntity<TKey>
{
}
}
  1. 版本5.1.4(最新版本(:
Assembly Volo.Abp.Ddd.Domain, Version=5.1.4.0
using Volo.Abp.Domain.Entities;
namespace Volo.Abp.Domain.Repositories
{
public interface IRepository<TEntity, TKey> : IRepository<TEntity>, IReadOnlyRepository<TEntity>, IReadOnlyBasicRepository<TEntity>, IRepository, IBasicRepository<TEntity>, IReadOnlyRepository<TEntity, TKey>, IReadOnlyBasicRepository<TEntity, TKey>, IBasicRepository<TEntity, TKey> where TEntity : class, IEntity<TKey>
{
}
}

请告知。

来源https://docs.abp.io/en/abp/latest/Migration-Guides/Abp-4_2#irepository-getqueryableasync:

从4.2版本开始,推荐的方法是使用IRepository.GetQueryableAsync()获得IQueryable,然后在其上使用LINQ扩展方法。

var queryable = await _repository.GetQueryableAsync();
var query = queryable.AsNoTracking()
.Where(x => x.Price > 10)
.Select(x => x.Name);

最新更新