ASP.返回数据库查询结果的可重用方法

本文关键字:方法 结果 返回 数据库 查询 ASP | 更新日期: 2023-09-27 18:17:28

我想要一个方法,我可以调用,这将查询数据库为我给定的查询字符串。可以从不同的控制器/动作中引用。(注意,实际查询的复杂性相当大)。

有几个问题:

  1. 代码会去哪里?新的控制器?助手吗?
  2. 我如何引用它(调用它)?
  3. 如果遵循我当前的样式,哪个对象将是返回类型

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

ASP.返回数据库查询结果的可重用方法

  1. 我将为此创建某种Service类
  2. 创建服务并调用方法。
  3. 与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