LINQ to SQL 투영 형에서 반복의 일부를 취하는 방법이 있는지 궁금합니다.LinqToSql : 어떻게하면 DRY를 준수 할 프로젝션을 만들 수 있습니까?
예 :
테이블 : 주소
분야 : AddressID, HouseNumber, 거리,시, 주, 우편 번호, 20 개
클래스 MyAddress : AddressID, HouseNumber , 스트리트 (필드 3 개만 해당)
LINQ :
from a in db.Addresses select new MyAddress { AddressID = a.AddressID, HouseNumber = a.HouseNumber, Street = a.Street }
위의 쿼리는 완벽하게 작동하고,이 같은 각 행의 모든 20 개 이상의 필드를 반환합니다 내가 왜 이해 :
인가 : 내 질문에 날 리드
from a in db.Addresses select new MyAddress(a); class MyAddress { public MyAddress(Address a) { this.AddressID = a.AddressID, this.HouseNumber = a.HouseNumber, this.Street = a.Street } }
LINQ 모델에서 MyAddress로 "매핑"하는 헬퍼 함수 또는 확장 메서드를 구현할 수 있지만 모든 필드가 아닌 쿼리 결과에서 필요한 필드 만 반환 할 수 있습니까?
왜 축소 된 데이터 형식이 필요한가요? –
20-30-40 개의 필드를 가진 테이블로 작업하고 있는데 3 개 만 필요하거나 원할 경우 SQL이 작업을 수행하고 와이어를 통해 여분의 데이터를 모두 반환해야하는 이유는 무엇입니까? – Mike