문제

나는 나 자신을 발견했 점점에 만족하는 데이터 집합/DataTable/읽 패러다임이다.Net,주로하기 때문에 그것은 종종 단계의 몇 가지보다 더 복잡하다 내가 정말 하고 싶.는 경우에는 내가 바인딩 컨트롤,데이터 집합은 괜찮습니다.하지만 다른 경우에있을 것 같은 공정한 금액의 정신 오버헤드가 발생합니다.

나와 약간 SqlDataReader,그리고 그를 위해 좋은 것 같습니다 간단한 소풍을 통해 선택,그러나 나는 느낌과 같은 있을 수 있습 다른 모델을에 숨어.Net 는 데 유용한 대한 자세한 내용을 볼 수 있습니다.나의 모든 도움을 내가 찾는 이를 사용하여 데이터 집합을 기본입니다.어쩌면 그와 DataReader 이 정말로 가장 적합한 옵션이 있습니다.

내가 찾는 게 아니에요 최고의/최악의 고장,그 호기심은 무엇 내 옵션은 어떤 경험을 했어 당신이 그들과 함께.감사합니다!

-에릭 Sipple

도움이 되었습니까?

해결책

습니다.NET3.5 나왔다,나는 독점적으로 사용되는 LINQ.그것은 정말 좋은;보이지 않는데 사용하는 이유 어떤 사람들의 오래된 목발을니다.

로 LINQ,하지만,나는 생각 어떤 ORM 시스템을 할 수 있다는 dreck.

다른 팁

우리는 멀리에서 데이터와 건축은 우리 자신의 ORM 객체를 느슨하게 기반 CSLA.을 얻을 수 있습 같은 작업을 수행하거나 또는 데이터 집합 LINQ 또는 ORM 하지만 다시 그것을 사용하는 것은(우리는 발견했)많은 쉽습니다.'더 적은 코드들에게 더욱 행복'.

가합니다.Net1.1,적어도 그들은 최적화된 그래서 그것은 속도에 영향을 주지 않습니다 같이 기하 급수적으로 큰 설정합니다.

그것은 항상 부풀어 오히려 모델 많지 않았을 사용하는 앱의 특징이다.

SqlDataReader 은 좋았지만 나를 포장하는 데 사용되는 IEnumerable<T> 어디 T 었 일부 입력한 표현의 데이터를 행합니다.

Linq 은 훨씬 더 나은 대체로서 나의 의견입니다.

데이터 전송 전체 패턴(원제에서 Java,세계를 믿),로 SqDataReader 을 채우는의 컬렉션 dto 로부터 데이터 레이어에서 사용하는 다른 층에의 응용 프로그램.이 dto 로 자체가 매우 가볍고 간단한 클래스 구성의 특성을 가져옵/합니다.그들은 쉽게 직렬화/병렬화된 사용을 위한 데이터 바인딩,그들이 꽤 적합 대부분의 개발 필요합니다.

나의 거대한 팬 아음속.잘 작성된 배치/CMD 파일을 생성할 수 있는 물체의 모델 데이터베이스에서 분;컴파일할 수 있습니다 그것은 그것의 자신 DLL 로 사용할 필요합니다.멋진 모델에,훌륭한 도구입니다.사이트 같은 소리 ASP.NET 다루지만,일반적으로 말해서 그것은 작품이 훌륭하게 어디서든지 않는 경우에 사용하려고 그 UI 프레임워크(는 내가 적당히 실망에서)또는 그 응용 프로그램 수준 자동 생성 도구입니다.

에 대한 기록,여기에는 버전의 명령을 사용 작업(그래서 당신이 싸울 필요가 없습이 너무 열심히 처음):

sonic.exe generate /server [servername] /db [dbname] /out [outputPathForCSfiles] /generatedNamespace [myNamespace] /useSPs true /removeUnderscores true

는 그것의 모든 시간...그런 다음 DLL 는 디렉터리-이것은 부분의 넝 프로젝트,발사에 의해 CruiseControl.NET --습니다.내가 사용하는 것에 WinForms,ASP.NET,심지어 일부 명령줄 utils.이 생성이 가장 적은 종속성과 최고의"이동성"(간에 관련된 프로젝트,예를 들어).

참고

위은 지금 넘습니다.나는 여전히 위대한 사랑에 내 마음을 위해 아음속,난로 이동 LINQ-to-SQL 때 나는 럭셔리한 작동합니다.NET3.5.습니다.NET2.0,나는 아직도 사용하여 Sql.그래서 나는 새로운 공식언은 플랫폼 버전에 따라 다릅니다.의 경우에.NET3+이동으로 받아들여 대답이다.의 경우에.NET2.0 으로 이동,아음속.

데이터한 데모입니다.

라고 해야 할지 모르겠으로 무엇을 하는 경우에 당신은 나를 사용합니다.

사용다

그럼 다시 내에서 클라이언트 응용 프로그램 공간,WPF 및 Silverlight.그래서 통과 데이터 집합이나 datatable 를 통해 서비스가...니다.

DataReaders 는 빠르고,이후 그들은 앞으로만 스트리밍의 결과를 설정합니다.

내가 사용되는 입력되는 데이터,DataViewManagers,Dataview,DataTables,DataRows,DataRowViews,그리고 그냥 아무것도 할 수 있는 스택 이후 최초에 나왔던 여러 기업 프로젝트입니다.그것은 내게 잠시 사용되는 방법을 허용하는 그것의 일했다.내가 쓴 사용자 지정 구성 요소를 활용하는 스 ADO.NETdid 지 내게 내가 정말 필요합니다.이러한 구성 요소 비교 데이터 집합 및 그 후 업데이트 백엔드 매장입니다.정말 어떻게 알고 모든 항목들의 잘 작동하는 사람들이 본 내가 무엇을 했는 매우 감명을 넘어가는 느낌이었만 유용하겠습니다

내가 사용하는 ADO.NET 바인딩에서 Winforms 고 내가 또한 코드를 사용하여 콘솔에서 앱.나는 최근에 협력하고 있으로 다른 개발자들은 사용자 지정 ORM 는 우리가 사용에 대한 미친 datamodel 리에서 주어진 계약자는 보다 아무것 같이 우리의 정상적인 데이터를 저장합니다.

나는 검색을 위해 오늘 교체 ADO.NET 나는 아무것도 표시되지 않습니다 내가 심각하게 배우려고 대체 어떤 나는 현재 사용하는.

나는 그들을 사용한 광범위하게 하지 않았을 사용해서는"진보된"기능은 Microsoft 정말 밀어 프레임워크 먼저 나왔습니다.저는 기본적으로 사용하여 그들을 목록으로 해시 테이블,나는 완벽한 유용합니다.

나는 보지 못했다 좋은 결과를 때 사람들이 만들려고 복잡한 데이터 입력,또는 시도를 실제로 설정한 외부 주요 관계를 사로 테이블 데이터 집합입니다.

물론,나의 하나 이상한 사람은 실제로 선호를 읽는 entity 객체를 인스턴스입니다.

Pre linq 사용 DataReader 을 채우기 위 목록의 내용은 도메인의 개체,그러나 포스트 linq 사용 L2S 을 채우 L2S 기관,또 L2S 을 채우기 도메인을 개체입니다.

한 번도 더 많은 시간을 조사한 내 용의자는 엔티티 프레임워크 개체 것이요 새로운 마음에 드는 솔루션입니다!

선택하는 현대적이고,안정적이고 적극적으로 지원하는 ORM 도구가 될 것 아마도 하나의 가장 높은 생산성에 어떤 프로젝트의 중간 크기 및 복잡성을 얻을 수 있습니다.만약 당신이 결정짓는 것은 당신이 절대적으로,절대적으로,절대적으로 작성해야 자신의 DAL 및 ORM,당신은 아마 잘못을하고(또는 사용 전 세계의 가장 어두운 데이터베이스)입니다.

을 하고 있다면 원시 데이터와 행하고 무엇인지,하루를 보내고를 시도하는 ORM 과에 깜짝 놀라게 할 것이 얼마나 더 생산적인할 수 있습 w/o 모든 단조롭고 매핑 열 분야 또는 모든 시간을 채우는 Sql command 객체 및 모든 기타 후프로 점프하는 우리 모두면을 통해 갔다.

I love me 일부 아음속,만을 위해 작은 규모와 함께 프로젝트 데모입,나를 찾 Linq to Sql 주니다.나는 증오 EF 열정으로하지만.P

내가 사용했던 데이터 입력을 위해 여러 프로젝트입니다.그들은 그들 모델의 데이터베이스만,제약 조건이 적용 클라이언트 측에서,그리고 일반적으로는 고체 데이터 액세스는 기술,특히으로 변경합니다.NET2.0Tableadapter.

입력된 데이터에서 나쁜 랩을 얻을 좋아하는 사람들을 사용하여 감정 같은 단어를"비 대한"에 대해 설명합니다.나는 권한을 부여하는 내가 사용하는 것과 좋은 O/R 매퍼상이 데이터 집합을 사용하여;그냥"느낌"더 나은 사용하는 개체와 컬렉션 대신의 입력 DataTables,DataRows,etc.하지만 무엇을 찾았는 경우 어떤 이유할 수 없습니다 또는 사용하지 않는 O/R 매퍼에 입력된 데이터는 견고한 선택은 쉽게 사용하기에 충분히 얻을 것이다 당신의 90%의 혜택을 O/R mapper.

편집:

일부는 여기에는 DataReaders 은"빠른"대안입니다.그러나 사용하는 경우 반사체를 보면 내부의 데이터 어댑터(는 DataTables 으로 채웁니다),당신이 볼 수는 없습니다데이터 입력 큰 메모리 공간이 다른 옵션보다,하지만 나는 아직 보기 위하여 응용 프로그램이 어디에이 확실한 차이입니다.

최고의 도구를 사용합니다.하지 않는 당신의 결정에 기초하여 감동적인 같은 단어를"심한"또는"비대는"사실적 근거.

나는 그냥 내업체에서 스크래치,그리고 거의 사용하지 않 DataTable 특히지 않는 데이터 집합 더 이상을 제외하고,처음에 채우는 사업체입니다.이점을 자신의 건물은 테스트 기능,유형 안전 및 활 확장성(추가해 보십시오 데이터세트)그리고 가독성(지 않는 한 당신이 즐길 수 있 읽기 같은 것을 변환합니다.ToDecimal(dt.행[i]["ㅋ"].ToString())).

만약 내가 똑똑해도를 사용 ORM 및 제 3 자 DI 프레임워크만,아직 필요를 느꼈습니다.하고 있어요 많은 작은 크기의 프로젝트 또는 추가해 더 큰 프로젝트입니다.

나는 절대 사용하여 데이터 집합입니다.그들은 큰 헤비급체만 사용 가능한(사람으로 여기고 지적했)에 대한"demoware".거기 많은 훌륭한 대안이 여기에 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top