저는 C#의 초보자입니다. 이제 "검색"기능에 대한 코드를 작성하고 있습니다. 아래 예제처럼 1에서 N까지의 테이블을 연결했습니다. 그리고 나는 테이블 A에 대한 데이터를 찾으려고합니다. 테이블 B, "KeyB002". (대답은 KeyA001 & KeyA003입니다.)
IQueryable을 사용하여이 구문을 사용해도 괜찮습니까? 아니면 작동하지 않습니까? SingleOrDefault 또는 FirstOrDefault가 tableA에 첨부 된 첫 번째 키만 선택하고 첨부 된 모든 키에서 검색을 수행하지 않고 tableA의 데이터를 찾지 않는지 궁금합니다 ....모든 데이터를 선택하기 위해 1에서 N까지의 테이블에 대한 IQueryable (C#)
감사합니다. 흠뻑.
(현재 구문) FYI - searchtableB_ID
var IqueryableData = from m in db.tableA.Include(p => p.tableB) select m;
IqueryableData = IqueryableData.Where(s => s.tableB.SingleOrDefault().tableB_Key == searchtableB_ID);
... 화면에서 & 표 A 표 B :
KeyA001 - KeyB001
KeyA001 - KeyB002
KeyA001 - KeyB005
KeyA001 - KeyB007
KeyA002 - KeyB003
KeyA002 - KeyB005 KeyB001
KeyA003 - - KeyB002
KeyA003 - KeyB006
KeyA003 -
KeyA002 - KeyA003 KeyB008
KeyB009
WHERE 쿼리 내의 FirstOrDefault/SingleOrDefault 식은 두 개 이상의 레코드가 반환되는 것을 방지하지 않습니다. – Benthon