无法使用异步从类型 ICollection 转换为 List。
无法使用异步从类型 ICollection 转换为 List。
我在一个服务中有以下代码:
var countriesTask = countryIds != null && countryIds.Any() ? this.dataContext.Countries.Where(c => countryIds.Contains(c.CountryId)).ToListAsync() : Task.FromResult(new List()); var countries = await countriesTask;
我想通过创建一个RepositoryBase类来重构Datacontext的依赖性:
IRepositoryBase: Task<ICollection> FindAllAsync(Expression<Func<T, bool>> match); RepositoryBase: public virtual async Task<ICollection> FindAllAsync(Expression<Func<T, bool>> match) { return await this.DbContext.Set().Where(match).ToListAsync(); }
然后进行如下重构:
var countriesTask = countryIds != null && countryIds.Any() ? this.countryRepository.FindAllAsync(c => countryIds.Contains(c.CountryId)) : Task.FromResult(new List()); var countries = await countriesTask;
我得到了一个类型转换错误(无法将ICollection Country类型转换为List Country类型,而且我的大脑今天早上不工作了。我知道可能是ToListAsync导致了问题,但每次我改变一个东西,另外一个东西就会出问题!我该怎么做?
admin 更改状态以发布 2023年5月21日