2012-05-28 4 views
0

이것이 나쁜 질문이 될 경우 매우 유감스럽게 생각합니다. 나는 데이터베이스 프로그래밍을 거의하지 않았다. 이것은 처음부터 다시 읽을 시간이 될 것입니다. 아마도 언젠가는 그 일을 할 것입니다. 그러나 지금 당장은 압박감을 느끼고 있습니다.캐싱하지 않고 DataSet을 사용하여 데이터베이스에서 작업 수행

DataSet과 같은 작업을 수행 할 수있는 방법이 있습니까? 예 : 삽입, 삭제 등 데이터베이스의 청크를 캐싱하지 않고 오라클 데이터베이스에? 난 임의의 필드/열 개체의 어색한 SQL 쿼리를 입력하지 않도록 뭔가를 찾고 있어요. 내가 DataRow를 정의하고 삽입 할 수있는 곳 (또는 일부 키를 기반으로 업데이트). 캐시를 사용하여이 작업을 수행 할 수있는 방법을 알지 못합니다. 전체 데이터베이스를 캐시 할 수 없기 때문입니다. 꽤 큽니다.

엔티티가 크게 임의적이므로이를 감싸기 위해 정적 클래스를 정의하고 싶지 않습니다.

+0

입력 된'DataSet'을 사용하고 있습니까? 아니면 'DataReader'를 기본'DataSet' 인스턴스와 함께 사용하고 있습니까? –

답변

1

수 있도록 옵션을 사용자 정의 할 수 있습니다 유형 : DataSet Fill 메소드에 매개 변수를 제공 할 수 있습니다.을 필수 행만 채우도록하십시오.

DataReader을 사용하는 경우 쿼리 문자열에 모든 종류의 쿼리를 제공 할 수 있습니다.

기본적으로 변경하려는 행만 '캐시'할 수 있습니다.

+0

이것은 내가 지금 당장 생각하고있는 것일 것입니다. 팁 고마워. – GregRos

0

... 당신이 정말로 필요

말할하지만 당신은 동적으로 오라클 데이터를 메타 데이터 딕셔너리 뷰를 쿼리 그 결과에 따라 SQL 문을 생성 할 수 있습니다 조금 어렵습니다.

+0

기본적으로 Fill 메서드를 사용하지 않고 DataSet/DataTable *과 같은 작업을 수행하려고합니다. 내가 어떻게 든 오해하지 않으면 전체 테이블을 캐시하지 않습니다. – GregRos

2

귀하의 질문을 완전히 이해할 수 있을지 확실하지 않습니다. Upsert 메소드를 사용하여 클래스를 생성 할 수 있습니다. 이 메서드는 DataRow를 받고 메서드의 규칙을 설정하여 datarow의 값에 따라 데이터베이스를 삽입하거나 업데이트 할 수 있습니다. 하지만 삽입하거나 레코드가 db에 있는지 확인한 다음 업데이트를 수행 할 수있는 고유 한 SQL 쿼리를 작성해야합니다.

왜 ORM을 사용하지 않습니까? 당신이 사용하는 경우 당신은 필요하지 않습니다

  1. Entity Framework
  2. NHibernate

엔티티 frameowkrk 비슷해, NHibernate에 어떤 SQL 쿼리를 작성하는 당신은 LazzyLoading

+0

이것이 내가해야 할 일이지만 솔직히, 그 프레임 워크를 배우는 것이 내가 가진 것보다 더 많은 시간이 걸릴지 모른다. 나는이 순간에 최소한 빠른 수정을 원한다. – GregRos

관련 문제