티스토리 뷰

반응형

실버라이트 4에 대한 기본적인 사항을 먼저 한번 쭈욱 정리를 하고 실버라이트 5로 넘어가야 할 것 같아서, 일단 초 간단 예제를 만들었다. 이 예제에 사용된 기술은 딱 2가지이다. 실버라이트4와 WCF RIA Service,

WCF RIA Service 설치는 http://www.silverlight.net/getstarted/riaservices/
이 페이지에 가면 3개의 링크가 있고, 3개를 모두 다운로드 받은 후 설치하면 된다.
WCF RIA가 올해 초까지만 해도 참 좋았는데..으흠..머 아직도 좋다..하하;;


1. 전체 레이아웃
1-1. 실버라이트 프로젝을 만든다.
1-2. 서버에 엔티티 프레임웍을 붙인다.
1-3. 데이터베이스를 연결한다.
1-4. 테이블에 기초한 엔티티를 만든다.
1-5. 컴파일 한다
1-6. WCF RIA(Domain Service)를 추가한다.
1-7. 컴파일 한다.
1-8. MainPage.xaml을 열어서 만들어진 컨텍스트를 드래그 드롭한다.
1-9. 실행한다.

무지 간단하다. 아마 한 10분이면 똑같이 만들 수 있을 것이다. 하지만 기능은 막강하다
물론 진짜 프로젝트에서 사용할려면 여러가지 추가적인 작업들이 들어가지만 그래도 좋다.
일단 만들어보고 더 필요한 부분이 있으면 요청이 있는 부분에 대해서만 추가 작업을 해서 올리겠다.


2. 실버라이트 프로젝을 만든다.
만드는 부분은 생략한다.

이름은 간단하게 정했다. 중요한 부분은 아래에 있는 Enable WCF RIA Services를 꼭 체크 해야한다는 것이다.


3. 서버에 엔티티 프레임웍을 붙인다.
서버 프로젝에서 Add -> New Item을 선택해서 Entity Data Model을 추가한다.

이름은 간단하게 기본 이름을 사용했다.


4. 데이터베이스를 연결한다.
기존 데이터베이스에 연결을 해서 모델을 만들 수 있는 기능을 선택한다.

여기서는 Compact 데이터베이스 파일을 사용한다. Compact 4.0을 설치하면 셈플DB인 Northwid.sdf 파일이 존재한다.
꼭 이 파일이 아니더라도 기존에 가지고 있던 데이터베이스 파일도 사용 가능하다.

여기서 Northwid.sdf파일을 선택하고 Next~

선택한 데이터베이스에서 테이블, 뷰, 프로시저 목록을 보여주고 자동으로 모델을 만들 수 있다. 여기서는 공짜니까 모든 테이블을 선택한다.
추가적으로 Pluralize or sigularize generated object names라는 것도 체크해준다. 그리고 finish

위의 그림이 자동으로 모델을 만들어 준 그림이다. 일단 여기까지 되었으면 꼭 F6키를 눌러서 컴파일을 해준다.


5. WCF RIA Service(Domain Service)를 추가한다

웹 프로젝트에서 Add -> New Item -> domain이란 이름으로 검색하면 Domain Service라는 것이 나온다. 이것이 바로 WCF RIA Service이다.

Add버튼을 누르면

위와 같은 화면이 나온다. 역시 공짜니까 다 선택한다. 오른쪽 체크 박스는 CRUD를 하겠냐는 것이다. 나중에 예제를 위해서라도 그냥 체크 하자 중요한 부분은 Generate associated classes for metadata에 체크를 해준다는 것이다.


여기까지 했을 때 완성된 솔루션 익스플로러의 모습이다.

또 다시 F6키를 눌러서 빌드를 하자


6. MainPage.xaml을 열어보자.
그리고 왼쪽으로 보면 Data Sources라는 것이 보이게 된다. (뜨는데 시간이 좀 걸린다)
이것이 WCF RIA Service를 사용 했을 때만 나오는 것으로 서버에서 만들어진 Context를 그냥 바로 드래그 드롭으로 사용 할 수 있도록 만들어 주는 것이다.

위의 내용 중에서 Order라는 것을 드래그 드롭으로 MainPage.xaml 위에 올려 놓고 위치를 조정해서 이쁘게 만든다.

그냥 올려다 놓기만해두 모든 필드의 내용들이 자동으로 데이터 그리드로 만들어진다. 얼마나 멋진 모습인지 흐흐

이제 마지막으로 실행 해보자 F5키를 눌러서 내용이 뜨는지를 보자

맨 처음에는 데이터가 뜨는데 시간이 약간 걸린다. 생각보다 Order테이블에 데이터가 좀 있다. 어차피 비동기 방식으로 가지고 오는 것이기 때문에 약간 기다리면 다 가지고 온다.


7. 초간단 프로젝트를 하나 만들었다.
하지만 여기서 조금만 더 손보면 바로 멋진 프로그램이 된다.
추가적으로 궁금한 사항, 추가 기능 등등을 많이 적어 주면 하나씩 기능을 보강해 보도록 하겠다.

반응형
댓글