.NET 4.0에서 WCF REST를 사용하고 있는데 다음 아이디어가 어떻게 구현 될 수 있는지 알아보기를 원했습니다.WCF REST 작업 상속
저는 EF 4.1 CF 프로젝트에 대해 매우 기본적인 POCO 세트를 가지고 있습니다. 그들 모두는 Entity
클래스 (PK를 정의하기위한 유일한 목적) 클래스로부터 상속받습니다.
public abstract Entity {
public int Id { get; set; }
}
지금, 대부분의 경우, 나는 (큰 시스템에 같아요, 또는 집계) 별도의 내 각 엔티티에 대한 CRUD 기능에 대한 작업을해야합니다.
[ServiceContract]
public class UserService {
[OperationContract]
public void Add(User user) {
// commit to EF
fooContext.Users.Add(user);
fooContext.SaveChanges();
}
}
지금, 이것은 단지 편의를 위해 주로,하지만 난 이런 걸 정말 편리 할 것이라고 생각했다 : 이론적으로 나를 http://<root>/userservice/add
를 통해 해당 작업에 액세스 할 수 있도록 할
[ServiceContract]
public abstract class BaseCrudService<T> where T : Entity {
[OperationContract]
public void Add(T entity) {
// commit to EF via generic methods
fooContext.Set<T>().Add(entity);
fooContext.SaveChanges();
}
}
public class UserService : BaseCrudService<User> {
// blah
}
... ServiceContract
로 장식 된 클래스를 상속받을 수 없다는 점을 제외하고는 예상대로 작동하므로 자동으로 엔드 포인트 자체로 계단식 연결 기능을 사용할 수는 없습니다.
궁금한 점은 : 어떻게 든 할 수있는 방법이 있습니까? 나는 상속 (이 방법으로)은 그것을 자르지 않을 것이라고 알고 있지만 이것을 할 수있는 다른 방법이 있습니까? 여러 서비스 작업에 걸쳐 유사한 코드 조각을 반복하는 것은 누군가가 이전에 생각해 보았을 것으로 생각되는 것처럼 들리며 구현 방법을 좀 더 명확하게합니다.
아래의 내 솔루션 (user1039947)이 효과가 있습니까? 당신이 행복하다면 알고 싶습니다. – kmp