실버라이트 개발자 여러분 안녕하세요!
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 IQueryable GetSomethings()
{
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 |
dsm.snippet