2013-02-14 87 views
1

我想知道是否有人可以给我一些关于我的存储库代码的输入信息,并就如何改进代码提出任何建议?下面我将包括存储库类和控制器。另外,如果我想在列表顶部插入一个值,那么有什么好办法呢?实体框架 - MVC 4 - 存储库体系结构

public static List<ChartApp> ListApplications() 
    { 
     using (var db = new LatencyDBContext()) 
     { 
      var appNames = db.LoginApplications.Select(item => new ChartApp() 
       { 
        LoginApplicationID = item.LoginApplicationID, 
        LoginAppName = item.LoginAppName, 
       }); 
      return appNames.ToList(); 
     } 
    } 

而且,控制器:

var listApps = LoginApplicationRepository.ListApplications().OrderBy(item => item.LoginAppName); 

     var myCharts = new ChartsViewModel(); 
     myCharts.AppsForChart = listApps.ToList(); 

回答

1

首先代码的结构看起来好像没什么问题,则排序依据可以在仓库中进行 - 特别是如果上市通常应由LoginAppName订购。不需要在控制器的listApps上调用ToList(),因为这已经在存储库中完成了,所以listApps已经是一个列表。

要在列表的开头插入一个项目使用Insert方法,如:

listApps.Insert(0, newAppItem);