уровень доступа к данным - дозвуковой, C # 2.0 - PullRequest
1 голос
/ 30 октября 2008

копаясь вокруг дозвукового, я наткнулся на это

текст ссылки

хорошая статья, но есть какие-нибудь? 1007 *

теперь я хочу, чтобы опция возвращала либо IList, либо Dataset, я бы создал для этого фабрику abstarct, если так, я могу иметь один универсальный метод, который будет принимать либо IList, либо Dataset в качестве параметра ref и заполнять передаваемый объект

это хорошая практика объявлять статические классы на бизнес-уровне, который взаимодействует с моим уровнем данных, чтобы в моем пользовательском интерфейсе, где у меня есть gridviewcontrol, я мог сделать это

mybusinesslayer.getdata (ref myDataset) // поскольку mybusinesslayer статичен

mygridviewcontrol.datasource = mydataset ....

1 Ответ

3 голосов
/ 31 октября 2008

Что вы планируете делать с наборами данных, которые вы не можете делать с ILists? ИМХО, вам захочется, чтобы вас строго печатали как можно больше.

В моей команде мы подключаем наш средний уровень к 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 и т. Д.) К источнику данных. Это очень чисто и не требует кода в коде позади.

Я также натолкнулся на эту статью Роба, которую вы опубликовали, и нашел ее полезной при попытке выяснить, как писать разорванные приложения с помощью SubSonic.

...