2013-06-01 1 views
0

에 다시 연재 WCF 모델을 변환 다음 모델 프로젝트 참조 POCO 클래스를 가지고내가 3 개 프로젝트와 솔루션이 기본 모델

  • 클라이언트
  • 모델을
  • WCF 서비스

을 내 아래와 같은 데이터베이스 테이블 :

[DataContract] 
    [Table("users")] 
    public class User 
    { 
     public User() 
     { 

     } 

     [DataMember] 
     [Key, Column("userid", TypeName = "int")] 
     public Int32 UserId { get; set; } 

     [DataMember] 
     [Column("username", TypeName = "varchar")] 
     public String UserName { get; set; } 
public User ValidateUser(string organization, string userName, string password) 
     { 
      Model.Poco.User user = new Model.Poco.User(); 
      user.UserId = 1; 
      user.BoardMember = true; 
      user.Email = "[email protected]"; 
      user.FirstTimeLogin = false; 
      user.IsActive = true; 
      user.Notes = "notes"; 
      user.Password = "xxxxxx"; 
      user.UserName = "user1"; 
      return user; 
     } 
이제

, 내 클라이언트가 아래처럼 호출 할 WCF 서비스 및 코드에 대한 서비스 참조를 가지고 :WCF 서비스 프로젝트 아래 같은 방법에서 모델을 반환하기 위해 모델에 대한 참조가 : 나는 이동하는 경우

private void button1_Click(object sender, EventArgs e) 
     { 
      WCFService.Service1Client client = new WCFService.Service1Client(); 
      var user = client.ValidateUser("test", "test", "test"); 
     } 

그것은,이 같은 확인 작업을 것 "사용자"변수는 모든 객체 WCF 서비스의 특성,하지만 내가 원하는 것은하는 것입니다 있습니다

Model.Poco.User user = client.ValidateUser("test", "test", "test"); 

B 만약 내가 이것을 할 경우 WCFService.User에서 Model.Poco.User로 변환 할 수 없다는 오류가 발생합니다.

어떻게 직렬화 된 객체를 기본 객체로 변환 할 수 있습니까? Im은 클라이언트와 WCF 서비스 모두에서 동일한 개체를 사용합니다. 즉, 모델 프로젝트를 참조하기 때문에. *

미리 도움을 청하십시오 !!

+0

'User' 대신'Model.Poco.User'를 돌려 주려고 했습니까? – Tim

+0

Model.Poco.User를 반환합니다. – VAAA

답변

1

클라이언트 프로젝트에서 서비스 참조를 생성 할 때 참조 된 어셈블리에서 유형을 재사용하는 옵션을 선택하십시오. 그렇지 않으면 도구는 서비스 참조의 일부로 WSDL을 기반으로 새로운 클래스를 생성합니다.