我有一个非常大的实体,有几百个属性。我有一个存储库,用于选择所有实体并返回该实体的IEnumerable。
在我的控制器中,我使用自动映射程序映射到这个实体的索引ViewModel,它只使用了ViewModel中实体的两个属性。与选择两个属性相比,返回需要相当长的时间。它似乎选择了实体的所有属性,然后只使用其中的两个属性。
推荐的方法是什么?我需要在存储库中创建视图模型吗?
格雷姆
发布于 2011-10-14 09:58:26
您可以传递DTO或其他模型。
public class LargeEntityDto
{
public string Foo { get; set; }
public string Bar { get; set; }
}然后在你的存储库中
public IEnumerable<LargeEntityDto> GetLargeEntityDtos()
{
return context.LargeEntities
.Select(e => new LargeEntityDto { Foo = e.Foo, Bar = e.Bar});
}https://stackoverflow.com/questions/7762258
复制相似问题