如何仅包含实体的一部分

时间:2018-05-07 23:08:19

标签: c# entity-framework asp.net-core entity-framework-core

我有这个linq查询,效果很好。

 var items  = this._context.History.Where(a => a.ItemId == id).Include(a=> a.AppUser.ApplicationUser).ToList();

但是,有一个问题。包含ApplicationUser是为了获取用户的FirstNameLastName。但是不需要表格的其余部分。

真正的问题是,由于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.正在使用的模式。不需要保存任何更改,只需要显示数据。

0 个答案:

没有答案