2011-09-11 5 views
1

데이터베이스에서 정보를 가져와야하는 경우 인보이스의 항목 (예 : 데이터 표에 데이터를 가져와 변수에 저장해야합니까? 아니면 클래스를 만들어야합니까?클래스 또는 변수?

무엇이 더 좋습니까?

MyClass.ItemNumber; 
MyClass.Price; 
MyClass.InvoiceNumber; 

또는 ...

myItemNumber = (int)dt["itemnumber"]; 
myPrice = (double)dt["price"]; 
myInvNum = dt["InvNum"].ToString(); 

? 그것이 다른 곳에서 결코 사용할 필요가없는 것이면 변수가 좋을까요, 아니면 "송장 등급"을 만드는 것이 유익합니까? 데이터를 가져 와서 클래스 인스턴스에 저장하면 .Net의 양식 게시물 용으로 캐시됩니까? 또는 각 페이지가 클래스 인스턴스/db 호출 등을 재생성하고 있습니까? 어때? 제발 개념을 설명하십시오. 개념은 내가 파악하기 가장 어려운 것 ... 코딩 - 쉽다. .Net의 개념 - 그리 쉽지는 않습니다.

+3

참고로 http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts –

+0

시간 내 주셔서 감사합니다. –

답변

0

즉각적인 사용을 위해서라면 클래스는 확실히 불필요한 오버 헤드입니다.

귀하의 데이터 테이블 dt는 이미 데이터가있는 메모리의 엔티티입니다. 변수가 충분합니다.

+1

데이터 전송 객체가 DataTable보다 훨씬 적은 오버 헤드를 필요로한다는 것을 제안합니다. 이는 자체적으로 클래스입니다. –

+0

@Mike 여기의 경우는 단순히 datatable을 클래스와 함께 사용하는지 아니면 클래스와 함께 임시 변수를 사용하는지, 데이터 테이블 대 클래스가 아닌지 여부를 간단히 나타냅니다. 데이터 테이블이 이미 생성되었습니다. 당신은 질문을 잘못 읽었습니다. – loxxy

2

데이터를 저장하기 위해 사용자 지정 개체 (클래스)를 사용하는 두 가지 주된 이유는 형식 안전성과 향후 이해/유지 관리 용이성 등입니다. MyInvoice.Customerdt[0][3].ToString() 또는 (string)dt["sCust"] 또는 다른 무시 무시한 마법의 접근 방식보다 더 쉽게 이해할 수 있습니다.

This article from Imar Spaanjaars explains how to use custom objects in ASP.NET development. 이것은 ASP.NET 2.0을 기반으로하지만 개념 전달의 측면에서 볼 때 가장 좋은 유형입니다.

+0

당신은 가서 ... 타입 안전성, 그리고 이해/유지력의 용이성 등, OP가 현재 원하는 것은 없습니다. 간단히 말해, 클래스는 현재 원하지 않는 오버 헤드입니다. – loxxy

+1

OP는 기본 개념이 혼란의 원천이라고 말하는 것을 계속합니다 - "왜". 나는 마이클이 묻는 것을 오해 한 것 같지 않습니다. –

+0

며칠 동안 내 코드를 속일 때, 나는 그것을 알아 냈다고 생각한다. 귀하의 의견이 도움이되었습니다. 일단 내가 실제로 그것을 사용할 수있게되면 분명 해졌다. 나는 수업을 좋아하지만, 너무 많은 오버 헤드처럼 보였습니다.하지만 장기적으로 볼 때 수업을 언제 사용해야하는지 이해가됩니다. 20 개의 변수를 저장하는 클래스는 20 개의 변수에 데이터를 저장하는 것보다 오버 헤드가 크지 않습니까? –