1

在我的 asp.net mvc Web 应用程序中,我有以下操作方法:-

public JsonResult LoadZoneByDataCenter(string id)
        {
            var zonelist = repository.getrealtedzone(Convert.ToInt32(id)).ToList();
//code goes here

它调用以下模型存储库方法:-

 public IQueryable<Zone> getrealtedzone(int? dcid) {

         return   tms.Zones.Where(a=> a.DataCenterID == dcid || dcid == null);
        }

目前我正在调用 .tolist() 它将从我的操作方法解释数据库,但我的问题是在控制器内部或模型类内部调用 .tolist() 的最佳位置在哪里,为什么?

谢谢

4

1 回答 1

2

最好不要.ToList()在您的存储库中调用,而是在您的控制器中调用。通过这种方式,您可以执行来自存储库的多个复杂查询并将其组合到单个数据库调用中。一旦您拥有视图所需的全部数据组合,调用.ToList()以执行 SQL 查询。否则,对于可以由 SQL JOIN 处理的事情,您将进行多个查询。

于 2013-11-13T09:50:31.427 回答