linq 编辑后未刷新(重新加载)集合导航属性

ccgok5k5  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(162)

我使用一个函数为数据网格加载数据,网格中的每一行都显示集合导航属性中的项,但是当我编辑集合并为数据网格重新加载数据时,添加或删除的项没有显示,它只显示旧的项:下面是我用来刷新datagrid数据的LoadData()函数的一部分,我在编辑集合后调用此函数(注意集合已正确保存到DB):

count = query.Count();
    
var resumes0 = query.Skip(args.Skip.Value).Take(args.Top.Value).ToList<Resume>();
resumes0.ForEach(r =>
{
    context.Entry(r).Navigation("ResumeSkills").IsLoaded = false;
    context.Entry(r).Collection(r => r.ResumeSkills).IsLoaded = false;
    context.Entry(r).Collection(r => r.ResumeSkills).Load();            
});
resumes = resumes0;
h43kikqp

h43kikqp1#

AsNoTracking()在这里:

var query = context.Resumes.Include(r => r.AcceptedResumes).Include(r => r.ResumeSkills).ThenInclude(rs => rs.Skill).AsNoTracking().AsQueryable();

解决了我的问题,但我需要跟踪实体。但似乎这是解决这个问题的唯一方法。

相关问题