2009-08-17 5 views
0

클래스를 사용하여 데이터 계층을 작성하는 데 익숙하지만 강력한 형식의 데이터 집합을 사용하는 것이 좋습니다. 빌드 할 데이터 계층은 다중 DBMS (Oracle, MSSQL, MySQL ..)를 지원해야합니다.누가 더 잘 구축 할 것인가? 데이터 형식을 강력하게 형식화 된 데이터 집합 또는 클래스

강력하게 형식화 된 데이터 집합을 사용하거나 클래스를 사용하여 빌드하는 것이 더 좋은 방법은 무엇입니까?

+3

왜 Entity Framework를 사용하지 않습니까? 그것은 멀티 DBMS 지원 (http://msdn.microsoft.com/en-us/data/dd363565.aspx) – HuBeZa

+0

와 데이터베이스에서 생성 된 클래스 구조는 마이크로 소프트 캠프와 모든에서 오는 EF에 오라클을 연결하는 여전히 해결책이없는 것 같습니다 다른 솔루션은 상업용이거나 실제 환경에서 사용할 수없는 테스트입니다 –

답변

0

강력하게 형식화 된 데이터 세트를 사용하여 여러 가지 큰 비즈니스 응용 프로그램을 만들었습니다. (오라클과 MSSQL 모두)

저는 Strongly Typed Dataset으로 작업하기를 좋아합니다. 다음 번에 다시 할 것입니다. C# 및 VB.NET 코드에서 열을 강력하게 입력하면 큰 도움이된다고 생각합니다. 그러나 채우기를 위해 자신의 기능을 만들어야하고 때로는 업데이트 기능을 사용해야 할 수도 있습니다. (where 절을 기반으로) 오라클의 경우 System.Data.OracleClient를 사용했습니다 (이 파일은 저에게 가장 적합 함)

오라클의 경우 모든 숫자가 소수로 변환됩니다. (ID 열에 대해서는 똑똑하지 않음) TableAdapter에서 SQL 문자열을 변경하면 변경 사항을 Decimal에서 Int32로 덮어 씁니다. 이것은 매우 성가신 일이지만, 익숙해지면 큰 문제는 아닙니다.

+2

강력하게 형식화 된 데이터 세트는 좋지만 생성 된 TableAdapters는 끔찍합니다 ... app.config를 변경하는 것 외에는 연결 문자열을 쉽게 변경할 수있는 방법이 없습니다. 프로그램 자체로는 수행 할 수 없습니다. 그리고 그들은 항상 특정 DBMS를 위해 생성되며 일반 코드를 사용하지 않습니다 : –

0

비즈니스 내용이 변경되면 (테이블 또는 필드) 코드를 다시 컴파일 할 필요가 없도록 데이터베이스 테이블에 넣습니다.

그러나 이는 근본적으로 다른 접근 방식입니다. 동적 SQL을 내부적으로 사용하며 (사용자 입력에 기반하지 않음) 일부 사람들을 긴장하게 만듭니다.

0

필자가 선호하는 것은 CSLA와 같은 아키텍처를 사용하여 비즈니스 로직을위한 클래스를 구현하는 것입니다. 데이터 액세스 로직은 동일한 클래스에 포함되거나 별도의 클래스 또는 데이터 세트로 포함될 수 있습니다. 비즈니스 로직에 데이터 세트를 사용하고이를 직접 UI에 바인딩하는 것은 다소 제한적입니다.

관련 문제