2011-08-15 3 views
0

웨어 하우징 용 프로그램을 작성하고 싶습니다.데이터베이스의 직접 쿼리와 비교되는 ORM 프레임 워크

누구나 내가 데이터베이스 계층에 프레임 워크를 사용할 수 있도록 안내 할 수 있습니까?

이전 엔티티 프레임 워크를 사용했지만 알 수없는 많은 오류가 발생했기 때문에 즐겁지 않았습니다.

누구나 nhibernate 나 다른 프레임 워크를 제안합니까? 아니면 직선 쿼리를 사용하거나 프로 시저를 저장하면 더 안정적이고 더 좋습니다.

+2

먼저 ORM을 사용하여 학습하십시오. "많은 논스톱 오류"는 엔티티 Fraemwork 문제가 아니며 컴퓨터 앞에있는 사람의 문제입니다. ORMs awork wonderfull - EF는 논쟁의 여지가없는 평범한 일이지만. 그러나 당신이 무엇을하는지 안다면 ... ORM은 마술처럼 thigs를 고쳐 내지 않을 것입니다. ORM은 DAL 용으로 사용되지 않습니다. 그것들은 영속 객체를위한 런타임 인 ​​abusiness layer tool입니다. – TomTom

답변

4

ORM이 이런 종류의 문제에 가장 좋은 선택이라고 생각하지 않습니다.

ORM의 'O'는 '개체'를 나타냅니다. 데이터를웨어 하우스로 이동하기 위해 오브젝트 모델을 작성하지 않아도됩니다.

ORM은 객체 지향 프로그래머가 중간 계층의 인스턴스 기반 객체와 데이터베이스 측의 집합 기반 관계 사이의 차이점을 잊어 버릴 수 있도록 개발자의 편의를 위해 더 많이 사용됩니다. SQL은 ORM 도구에 의해 생성됩니다. 데이터를 이동하려는 것이 아닐 수도 있습니다.

당신이 실제로 다이빙해야 할 3 글자는 ETL : Extract-Transfer-Load입니다. 이는 트랜잭션 데이터 저장소에서 데이터웨어 하우스로 데이터를 이동하는 데 사용되는보다 일반적인 접근 방식입니다.

1

Entity Framework는 일반적으로 제약 조건 등의 데이터베이스에서 발생하는 오류를 throw하지만 Entity Framework를 사용하여 직접 SQL 및 저장 프로 시저 호출을 수행 할 수도 있습니다.

제목을 ORM이 아닌 ORM으로 수정해야합니까?

0

나는 ORM 프레임 워크에 과도한 믿음이 있다고 생각합니다. 성능 저하와 같은 문제가 있습니다. Linq-to-SQL을 사용하면 저장 프로 시저로 수행되는 고급 쿼리가 제안됩니다. 그것은 꽤 간단하고 안정적입니다. 또는 SubSonic을 사용하십시오. 실제로, 당신이 그것을 원한다면 많은 저장 프로 시저를 수행하는 것이 잘못된 것은 아닙니다. 마법의 탄환은 없습니다. 모든 해결책에는 장단점이 있습니다.

관련 문제