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 });
}