ASP.返回数据库查询结果的可重用方法
本文关键字:方法 结果 返回 数据库 查询 ASP | 更新日期: 2023-09-27 18:17:28
我想要一个方法,我可以调用,这将查询数据库为我给定的查询字符串。可以从不同的控制器/动作中引用。(注意,实际查询的复杂性相当大)。
有几个问题:
- 代码会去哪里?新的控制器?助手吗?
- 我如何引用它(调用它)?
-
如果遵循我当前的样式,哪个对象将是返回类型
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"); } }
- 我将为此创建某种Service类 创建服务并调用方法。
- 与Query方法相同的类型。IEnumerable
这是一个选择。您可能必须调用ToList或ToArray来执行查询,因为连接可能已关闭。
服务层通常称为存储库。谷歌一下,你会发现大量的例子。
1。代码会去哪里?新的控制器?助手吗?
一个类。面向服务的架构。
2。我该如何引用它(称呼它)?
作为页面中的局部变量,通过您信任的IOC容器填充。
3。什么对象,如果遵循我当前的样式,返回类型是
。我们现在的风格已经过时了。听说过LINQ吗?.NET的可查询扩展?它们又不是新出现的。它应该返回IEnumerable或IQueryable,并且是一般的泛型。或者在只返回一个数字的情况下使用特定的类型
存储库模式也适用
参见示例http://mstecharchitect.blogspot.com/2009/08/aspnet-mvc-and-linq-to-sql-using.html