C# ASP.NET MVC3:返回数据库查询结果的可重用方法
我想要一个可以调用的方法,该方法可以查询数据库中给定的查询字符串。可以从不同的控制器/操作引用。(注意,实际查询的复杂性相当大) 所以有几个问题:C# ASP.NET MVC3:返回数据库查询结果的可重用方法,c#,asp.net,database,asp.net-mvc-3,C#,Asp.net,Database,Asp.net Mvc 3,我想要一个可以调用的方法,该方法可以查询数据库中给定的查询字符串。可以从不同的控制器/操作引用。(注意,实际查询的复杂性相当大) 所以有几个问题: 代码会去哪里。一个新的控制器?帮手 我如何引用它(称之为) 如果遵循我当前的样式,返回类型将是什么对象 public Something WebCostCentres() { using (var db = Database.OpenConnectionString(Mynamespace.Properties.Settings.Defaul
public Something WebCostCentres()
{
using (var db = Database.OpenConnectionString(Mynamespace.Properties.Settings.Default.dbConnString,
"System.Data.SqlClient"))
{
//ViewBag.CostCentres = db.Query("SELECT DISTINCT CostCentreNo");
return db.Query("SELECT DISTINCT CostCentreNo");
}
}
没有。我们现在的款式已经过时了。听说过林克吗?NET的IQueryable扩展?它们并不是新的。它应该返回IEnumerable或IQueryable,并且通常是泛型的。或者在只返回一个数字的情况下使用特定类型。存储库模式也适用 看一个例子
re 3:只要查询返回一个完整的列表,而不是一个活动的
IEnumerable
——因为连接将在使用之前关闭;可能需要一个收费表()您的数据库是什么?这是entlib吗?Webmatrix.Data很抱歉回复太慢,我的互联网中断了半个小时。阅读提供的答案。:)