2008-10-30 5 views
1

음속 주위를 파고, 나는이데이터 액세스 레이어 - 아음속, C# 2.0

link text

좋은 기사를 통해 들어 왔지만 어떤이의

가 지금은 IList의 하나를 반환 할 수있는 옵션을 원하는? 또는 Dataset을 사용하여 abstarct 팩토리를 만들 수 있습니까? 그렇다면 IList 또는 Dataset을 ref 매개 변수로 사용하고 전달 된 객체를 채우는 일반적인 방법이 있습니까?

는 그것 때문에 내 데이터 층 회담 비즈니스 계층에 정적 클래스를 선언하는 것이 좋습니다이다 나는 gridviewcontrol이 내 UI에서 나는이

mybusinesslayer.getdata (REF MyDataSet로)을 할 수있는 // mybusinesslayer가 정적으로

mygridviewcontrol.datasource = MyDataSet로 ....

당신이 ILists와 함께 할 수없는 데이터 세트와 함께 할 계획입니까

답변

3

? IMHO, 가능한 한 강력하게 형식화되기를 원할 것입니다.

비즈니스 계층/중간 계층

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

, 우리는 데이터를 가져 오기 위해 사용할 ... 다음 등 우리의있는 GridViews,의 ListView의 모든 ObjectDataSources 우리의 중간 계층을 연결하고 페이지에서

것은 그런

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

거기에서, 당신은 어떤을 연결할 수 있습니다 데이터 뷰 컨트롤 (Gridview, Listview 등 ...)을 데이터 원본에 추가합니다. 그것은 매우 깨끗하며 코드 숨김에 코드가 필요 없습니다.

또한 Rob이 게시 한 기사를 통해 AdSonic과 결합 해제 된 응용 프로그램을 작성하는 방법을 찾는 데 도움이된다는 사실을 발견했습니다.

+0

+1 깨끗한 코드! – karlgrz

+0

BusinessLayer 클래스에서 사용한 코드는 SubSonic입니까? –

관련 문제