
WCF RIA Service에서 DomainService에 기본 Method 4종을 추가하는 Code Snippet
- posted by 길버트 in Silverlight/Tips 2010/02/04 19:43
실버라이트 개발자 여러분 안녕하세요!
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);
}
Trackback 0 And
Comment 0

dsm.snippet




