1

在亚音速周围挖掘,我遇到了这个

链接文本

好文章,但有一些?

现在我想要返回 IList 或 Dataset 的选项,我会为此创建一个抽象工厂吗,如果可以,我是否可以有一个通用方法将 IList 或 Dataset 作为 ref 参数并填充传入的对象?

在与我的数据层对话的业务层中声明静态类是否是一种好习惯,以便在我有 gridviewcontrol 的 UI 中执行此操作

mybusinesslayer.getdata(ref myDataset) //因为 mybusinesslayer 是静态的

mygridviewcontrol.datasource = mydataset....

4

1 回答 1

3

您打算如何处理无法使用 IList 的数据集?恕我直言,您将希望尽可能地进行强类型化。

在我的团队中,我们将中间层连接到 ObjectDataSources,然后我们所有的 GridViews、ListViews 等......使用它们来获取数据:

业务层/中间层

namespace Project
{
    public class BusinessLayer
    {
        public IList<Product> GetProducts()
        {
            return new Select().From( Products.Schema ).Where( Products.Columns.Status ).IsEqualTo( true ).ExecuteTypedList<Product>();
        }
    }
}

在页面上

<asp:ObjectDataSource id="odsProducts" runat="server" TypeName="Project.BusinessLayer" SelectMethod="GetProducts()"></asp:ObjectDataSource>

然后从那里,您可以将任何数据视图控件(Gridview、Listview 等)连接到数据源。它非常干净,不需要代码隐藏中的代码。

我还看到了您发布的 Rob 的那篇文章,发现它有助于弄清楚如何使用 SubSonic 编写解耦应用程序。

于 2008-10-31T05:32:48.433 回答