2012-03-15 2 views
5

저는 작업하기 쉽도록 코드베이스를 리팩토링 할 수있는 방법을 찾고 있습니다.DataSet에서 EntityFramework로 마이 그 레이션

응용 프로그램은 웹 서비스를 통해 모든 데이터 설정/검색이 이루어지는 상당히 큰 Asp.Net 웹폼 응용 프로그램입니다. 현재 이러한 WebServices는 저장 프로 시저에서 반환 된 하나 이상의 테이블을 포함하는 DataSets를 반환합니다. 코드베이스는 여러 곳에서 WebServices를 호출하는 ASP 코드 숨김과 코드 숨김 또는 저장 프로 시저에서 발생하는 비즈니스 로직의 대부분이 긴밀하게 연결되어 있습니다.

잠시 동안 우리는 응용 프로그램을 업데이트하고 코드 기반을 현대화 할 수있는 방법을 모색 해 왔습니다. 우리는 전체 앱을 다시 쓸 수는 없지만 (그리고 원하지는 않는다), 조금씩 새로운 아키텍처로 옮길 수 있다면 좋을 것이다. 나는 현재의 아키텍처와 잘 어울리는 것처럼 보이지만 너무 많은 재 작성이 필요하지는 않지만 더 많은 테스트 가능한 코드가 필요하다. (또 다른 목표 - 우리는 현재 자동화가 없다. 테스트).

DataSets에서 EntityFramework로 이동하는 방법에 대한 팁/정보/기사가 있다면 알고 싶습니다. 우리의 데이터를 모델링하고 훨씬 쉽게 테스트 할 수 있기 때문에 이것이 우리에게 가장 큰 이점이 될 것이라고 생각합니다. 불행히도 이런 종류의 마이그레이션과 관련하여 온라인에서 아직 어떤 것도 찾을 수 없었습니다. 우리의 데이터베이스 디자인은 고맙지 만 (고맙게도), 우리는 DataSets를 제거 할 때까지 잠시 동안 DataSets와 EntityFramework를 모두 사용해야했습니다. 한꺼번에 처리 할 방법이 없습니다.

이것에 대해 조언 할 수있는 사람이 있습니까?

+1

현재 WebServices를 사용하여 현재 DataSet 양식에있는 데이터를 반환 하시겠습니까? 아니면 귀하의 앱이 EntityFramework를 통해 데이터베이스에 직접 접촉할까요? –

+0

@ 존 웹 서비스를 어떻게 든 사용해야한다고 생각합니다. 우리는 Microsoft InfoPath에서 데이터를 검색하는 데 동일한 웹 서비스를 사용합니다. 아직 제거 할 수 없습니다. –

답변

3

두 개의 개별적인 문제를 해결해야 할 것 같습니다. 당신이 웹 서비스 (들) 내부 EntityFramework 의 사용을 어떻게해야합니까

  1. .
  2. 둘째, 웹 서비스간에 어떻게 결과를 전달합니까?

# 1의 경우 현재 구현의 관련 세부 정보 만 추측 할 수 있습니다. 그러나 검색하고 도움을 얻을 수있는 일반적인 변화 일 가능성이 높습니다.

# 2의 경우 앞뒤로 이동하는 일련의 비즈니스 오브젝트를 정의하려고합니다. 웹 서비스는 그것들과 EntityFramework 객체를 변환 할 수 있습니다. 아마도 EF 개체를 직접 전달할 수 있지만 시나리오에 따라 문제가있을 수 있습니다.

+0

"비즈니스 객체"로 무엇을 언급하고 있는지 궁금합니다. XML/JSON으로 serialize하는 것을 의미합니까, 아니면 다른 것을 참조하고 있습니까? –

+0

@ a_m0d : "비즈니스 객체"는 단순히 속성이있는 클래스입니다. 그들의 운송 수단 (XML, JSON 등)은 완전히 별개의 문제입니다. –

+0

그러면 비즈니스 오브젝트는 POCO 클래스와 어떻게 다릅니 까? –

관련 문제