我有这个linq查询,效果很好。
var items = this._context.History.Where(a => a.ItemId == id).Include(a=> a.AppUser.ApplicationUser).ToList();
但是,有一个问题。包含ApplicationUser
是为了获取用户的FirstName
和LastName
。但是不需要表格的其余部分。
真正的问题是,由于ApplicationUser
现在位于上下文中,因此不包含ApplicationUser
的完全不同的查询最终会填充ApplicationUser
并将其发送到客户端(out-security)。
this.DbSet.Where(a => a.EntityStatusId == (int)EntityStatus.Enum.Active && a.ItemId == entityId ).Include(a=> a.AppUser).ToList();
但我真正需要的只是ApplicationUser.FirstName
和此表中的ApplicationUser.LastName
。
我能想到的唯一解决方法是为一个查询创建一个新的Context()
,但这似乎违反了D.I.正在使用的模式。不需要保存任何更改,只需要显示数据。