실버라이트 개발자 여러분 안녕하세요!
DomainService를 만들어서 잘 사용하고 있다보면 신규 테이블을 추가하게 되는 순간이 있습니다.
그러면 ADO.NET Entity Data Model (*.edbx)을 Update Model from Database하는 것만으로
Proxy Class는 생성은 성공입니다.
하지만! 이미 사용하고 있던 DomainService에 새 테이블에 대한 기본 CRUD 메서드들은
손쉽게 추가해 줄 방법은 없습니다.
기본 CRUD 메서드
그래서 새 Domain Service를 만들어서 사용하거나,
새 Domain Service를 만들어서 생긴 4가지 기본 메서드를 기존 Domain Service로
Copy & Paste하는 방법으로 가게됩니다. 하지만 귀찮죠.
그래서 손쉽게 사용할 수 있는 Code Snippet을 하나 만들어 보았습니다.
Shortcut은 dsm이니 활용하세요.
Usage : dsm [tab] [tab]
Download
Example
DomainService를 만들어서 잘 사용하고 있다보면 신규 테이블을 추가하게 되는 순간이 있습니다.
그러면 ADO.NET Entity Data Model (*.edbx)을 Update Model from Database하는 것만으로
Proxy Class는 생성은 성공입니다.
하지만! 이미 사용하고 있던 DomainService에 새 테이블에 대한 기본 CRUD 메서드들은
손쉽게 추가해 줄 방법은 없습니다.
기본 CRUD 메서드
public IQueryable<Something> GetSomethings()
public void InsertSomething(Something something)
public void UpdateSomething(Something currentSomething)
public void DeleteSomething(Something something)
public void InsertSomething(Something something)
public void UpdateSomething(Something currentSomething)
public void DeleteSomething(Something something)
그래서 새 Domain Service를 만들어서 사용하거나,
새 Domain Service를 만들어서 생긴 4가지 기본 메서드를 기존 Domain Service로
Copy & Paste하는 방법으로 가게됩니다. 하지만 귀찮죠.
그래서 손쉽게 사용할 수 있는 Code Snippet을 하나 만들어 보았습니다.
Shortcut은 dsm이니 활용하세요.
Usage : dsm [tab] [tab]
Download
Example
public IQueryableGetSomethings() { return this.ObjectContext.Something; } public void InsertSomething(Something something) { if ((something.EntityState != EntityState.Added)) { if ((something.EntityState != EntityState.Detached)) { this.ObjectContext.ObjectStateManager.ChangeObjectState(something, EntityState.Added); } else { this.ObjectContext.AddToSomething(something); } } } public void UpdateSomething(Something currentSomething) { if ((currentSomething.EntityState == EntityState.Detached)) { this.ObjectContext.AttachAsModified(currentSomething, this.ChangeSet.GetOriginal(currentSomething)); } } public void DeleteSomething(Something something) { if ((something.EntityState == EntityState.Detached)) { this.ObjectContext.Attach(something); } this.ObjectContext.DeleteObject(something); }
'Silverlight > Tips' 카테고리의 다른 글
Localization Silverlight : 브라우저 언어설정 참조하기 (0) | 2010.03.24 |
---|---|
RadControl for Silverlight 4 RC 컴파일 에러 트러블슈팅 (1) | 2010.03.24 |
Silverlight 4 Business Application Beta에서 RC로 마이그레이션 하는 방법 (0) | 2010.03.23 |
[Tip] VS2010에서 XAML 파일에 오른쪽 클릭했는데 Blend 연결 메뉴가 없을 때 (1) | 2010.02.02 |
[Tip] Silverlight 4 Beta Tools 설치 중 오류를 만났을 때 (0) | 2010.02.01 |
실버라이트에서 JSON 데이터 활용하기 (2) | 2010.01.31 |
ASP.NET 웹서비스 세션유지 실버라이트에선 되는데 WinForm에서 안될 때! (0) | 2010.01.13 |