Asp.net mvc 3 mvc3如何返回存储库

Asp.net mvc 3 mvc3如何返回存储库,asp.net-mvc-3,repository,Asp.net Mvc 3,Repository,我最近发现了使用存储库的好处,对此我非常陌生。我的问题是,现在如何返回代码?例如,在使用存储库之前,在我的常规控制器中,我返回如下代码 public ActionResult Index(int? zips, double? rad) { if (!zips.HasValue) { string connectme = ConfigurationManager.ConnectionStrings["looglercontext

我最近发现了使用存储库的好处,对此我非常陌生。我的问题是,现在如何返回代码?例如,在使用存储库之前,在我的常规控制器中,我返回如下代码

public ActionResult Index(int? zips, double? rad)
    {


        if (!zips.HasValue)
        {

            string connectme = ConfigurationManager.ConnectionStrings["looglercontext"].ConnectionString;
            using (System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(connectme))
            {
                sqlConnection.Open();
                var articles = sqlConnection.Query<Article>("Select top 20 * from articles").ToList();
                return View(new homepage { article = articles });
            }
        }
        return View();
    }
public ActionResult索引(int?zips,double?rad)
{
如果(!zips.HasValue)
{
字符串connectme=ConfigurationManager.ConnectionString[“looglercontext”].ConnectionString;
使用(System.Data.SqlClient.SqlConnection SqlConnection=new System.Data.SqlClient.SqlConnection(connectme))
{
sqlConnection.Open();
var articles=sqlConnection.Query(“从文章中选择前20个*).ToList();
返回视图(新主页{article=articles});
}
}
返回视图();
}
现在我把代码放在一个存储库中,因为它们不接受ViewModels返回,所以我基本上不知道这就是我所拥有的

public homepage FirstRepository(int? zips, double? rad)
  {
      if (!zips.HasValue)
      {

          string connectme = ConfigurationManager.ConnectionStrings["looglercontext"].ConnectionString;
          using (System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(connectme))
          {
              sqlConnection.Open();
              var articles = sqlConnection.Query<Article>("Select top 20 * from articles").ToList();
              return  new homepage { article = articles};
          }
      }
公共主页第一存储库(int?zips,double?rad)
{
如果(!zips.HasValue)
{
字符串connectme=ConfigurationManager.ConnectionString[“looglercontext”].ConnectionString;
使用(System.Data.SqlClient.SqlConnection SqlConnection=new System.Data.SqlClient.SqlConnection(connectme))
{
sqlConnection.Open();
var articles=sqlConnection.Query(“从文章中选择前20个*).ToList();
返回新主页{article=articles};
}
}
//如果存储库为null,如何在此处返回内容 }


我得到一个错误,不是所有代码路径都返回一个值

为了编译此代码,如果您的
条件不满足,您可以返回一个空列表:

public IList<Article> FirstRepository(int? zips, double? rad)
{
    if (!zips.HasValue)
    {
        string connectme = ConfigurationManager.ConnectionStrings["looglercontext"].ConnectionString;
        using (System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(connectme))
        {
            sqlConnection.Open();
            var articles = sqlConnection.Query<Article>("Select top 20 * from articles").ToList();
            return articles;
        }
    }

    return new List<Article>();
}
public ActionResult Index(int? zips, double? rad)
{
    var articles = someRepo.FindRepository(zips, rad);
    return View(new homepage { articles = articles });
}