在ViewModel中,我应该创建一个List还是一个IQueryable,然后在View中使用它。

1个问题
例如:
在ViewModel中,我具有此属性

public List<MyEntity> ListEntity {get;set;}
public IQueryable<MyEntity> ListIQEntity {get;set;}

然后在 View 中我像这样循环。
<ul>
foreach(var e in Model.ListEntity)
{
   <li><%:e.MyInfo</li>
}
</ul>


<ul>
foreach(var e in Model.ListIQEntity )
{
   <li><%:e.MyInfo</li>
}
</ul>

2问题

在存储库中,最好返回IQueryable或实体列表。

非常感谢

最佳答案

如果您只是要遍历该集合,那么最好使用IEnumerable<MyEntity>,这实际上是您在使用列表时要执行的操作,但又不限于使用特定类型。

您实际上不需要在 View 级别使用IQueryable<MyEntity>,因为所有昂贵的查询都应该在数据到达 View 时就已经完成,并且您不应该在该级别上进行任何实际的处理-这样做所有都在模型中,或者是否需要在 Controller 中,但不在 View 中。

关于asp.net-mvc-2 - 在 Entity Framework 中,我应该在ViewModel和存储库中使用List <MyEntity>还是IQueryable <MyEntity>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6279233/

10-11 02:52