2014-09-13 3 views
0

나는 두 테이블의 직원 및 퍼니 언트 테이블을 가지고 있습니다. permenet 테이블은 여기에 두 테이블 내가 이름과 지정WCF linq 여러 테이블에서 쿼리

public List<employee>get_name(string uname){ 
       var resl = (from per in dc.permenenets 
       join emp in dc.employees on per.employee_no equals emp.employee_no 
       where per.username == uname && per.employee_no == emp.employee_no 
       select emp); 
    return resl.ToList(); 
    } 

를 얻을 수 WCF 서비스를 만든

create table employees(

employee_no varchar(5), 
name varchar(50), 
nic varchar(10), 
address varchar(100), 
designation varchar(20), 

Land varchar(10), 
Mobile varchar(10), 
constraint pkemployees primary key(employee_no), 
constraint fkemployees foreign key(land,mobile) references telephone) 


create table permenenet(

username varchar(20), 
password varchar(10), 
password_hint varchar(50), 
employee_no varchar(5), 
constraint fkpermenet foreign key(employee_no) references employees, 
constraint pkpermenet primary key(employee_no). 

하지만 난 WCF 클라이언트를 테스트하고의 스키마는 직원 의 ISA 테이블입니다 WPF 응용 프로그램에서 데이터를 가져 오는 중입니다. 빈 응답을 얻고 있습니다. 도움말을 참조하십시오.

답변

1
  1. && per.employee_no == emp.employee_no 부분은 필요하지 않습니다. 이미이 조건에 가입했습니다.
  2. username이 정확히 unamepermenenets 만 선택하면 per.username = @uname과 유사한 SQL을 생성하지만 per.username LIKE @uname은 생성하지 않습니다. 정확한 일치를 찾지 못하면 SqlMethods.Like 또는 다른 것을 사용해야합니다.
  3. 값을 resl.ToString() (즉, 중단 점을 설정하고 시계를 사용하여) 확인하고 SQL Server에 대해 직접 생성 된 쿼리를 실행하고 매개 변수를 uname 값으로 바꾸고 결과가 있는지 확인하십시오.