在当前版本(3.3.1(中,我使用了IRepository.AsNoTracking,它运行良好。但当我将Abp升级到最新版本时,它无法工作。
这里有两个具有不同结构的程序集(没有IQueryable,不使用Assembly Microsoft.EntityFrameworkCore,…(:
- 版本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>
{
}
}
- 版本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);