await dbContext.Set<TEntity>()
.Where( e => e.Id == entity.Id )
.Select( e => new
{
DoesntMatter01 = e.DBTable1,
DoesntMatter02 = e.DBTable2,
} )
.SingleOrDefaultAsync();
注意,只要查询是枚举的,实际上并不关心结果。在这种情况下,我们使用
SingleOrDefault
但是,如果我们选择实体集合的id,然后使用
ids.Contains( e.Id )
where
ToArray
或将返回所有结果的类似方法。
编辑:因为我觉得很有动力:
public Task LoadEntityCollections( DbContext dbContext, IEnumerable<EntityType> entities )
{
dbContext.Set<EntityType>()
.Where( e => entities.Select( ei => ei.Id ).Contains( e.Id ) )
.Select( e => new
{
// assign from properties you want loaded
} )
.ToArrayAsync();
}