所以,我一直在使用带有IQueryable扩展的AutoMapper来选择一些非常简单的视图模型以用于列表视图。这使得我不需要加载整个实体框架对象,但我遇到了一个不太理想的情况,即我需要为单个复杂对象提取一个简单的视图模型。
userQuery.Where(u => u.Id == id).ProjectTo<SimpleUserViewModel>().FirstOrDefault();
我可以进行普通的AutoMapper.Map操作,但这会拉取整个对象和子对象,而我可能只需要子对象中的一个属性,并且我不想承担数据库检索成本。
对于获取单个实体并通过实体框架发出选择以仅获取必要的对象,有更好的方法吗?
Select
),而你则通过过滤(Where
+FirstOrDefault
)来完成。 - Ivan Stoev