首页 > 解决方案 > 未找到“EntityQueryable < ReportCompetency >”。确保实体类型已添加到模型中

问题描述

我正在使用一个接受逻辑模型和回购模型的通用方法,以便我拥有可以更新显示顺序的可重用代码。

实际的 EF 调用完美运行,但是我得到了错误

找不到实体类型“EntityQueryable < ReportCompetency >”。确保实体类型已添加到模型中。

我正在使用的代码在这里

internal async Task<List<LogicModel>> UpdateDisplayOrderAsync<LogicModel, RepoModel>(List<GridItemAndSortOrderLogicModel> models) where RepoModel : TrainingBase
    {
        using (var context = GetDbContext())
        {
            var originals = context.Set<RepoModel>().Where(a => models.Select((b => b.Id)).Contains(a.Id));

            var loopy = from o in originals
                join m in models on o.Id equals m.Id
                select new { o, m };

            foreach (var loop in loopy)
            {

                loop.o.DisplayOrder = loop.m.DisplayOrder;

                context.Entry(loop.o).CurrentValues.SetValues(loop.o);
                context.Entry(loop.o).State = EntityState.Modified;
            }

            await context.SaveChangesAsync();
            _logger.LogInformation($"->> Updated comptency display order");
            var retVal = context.Entry(originals).Entity.Adapt<List<LogicModel>>();
            return retVal;
        }
    }

这个调用是从这里的代码块进行的

public async Task<List<ReportCompetencyLogicModel>> UpdateCompetencyDisplayOrderAsync(List<GridItemAndSortOrderLogicModel> models) => await base.UpdateDisplayOrderAsync<ReportCompetencyLogicModel, RepositoryModel.ReportCompetency>(models);

我得到错误的行是var retVal = context.Entry(originals).Entity.Adapt<List<LogicModel>>();

并且非常感谢有关如何通过这个的任何和所有帮助。

标签: c#.net-coreentity-framework-core

解决方案


推荐阅读