문제

기본 키/외국 키 관계와 결합 된 일련의 테이블이 있습니다. 트랜잭션 테이블이 있으며 각 트랜잭션은 하나의 제품 만 참조합니다. 각 제품은 하나의 범주로만 존재할 수 있습니다.


Categories        Products           Transactions
-------------     -------------      -----------------
CategoryId        ProductId          TransactionId
CategoryName      CategoryId         ProductId
                  ProductName       TransactionAmount
  

나는 단지 linqtosql을 배우고 있으며 Lambda 표현식을 사용하여 각 범주의 제품에 액세스합니다 (x => x.products). 그러나 내가하려는 것은 트랜잭션 테이블에 액세스하는 것입니다. 특히 범주별로 모든 트랜잭션의 합을 얻는 것입니다.

LINQ 문에서 수동 조인을 만들어이 작업을 수행 할 수 있다고 확신합니다. 그러나 모든 테이블이 모델에서 PF/FK로 연결되기 때문에이 작업을 수행 해야하는 것 같지는 않습니다.

누구든지 시작하는 방법의 예를 제공 할 수 있습니까?

도움이 되었습니까?

해결책

그것을 컴파일하려고하지 않고, 나는 이것이 당신이 원하는 방식으로 작동 할 것이라고 생각합니다. LINQ에서 SQL 데이터 컨텍스트에 연관성이 설정되어 있다고 가정합니다.

var transPerCategory = db.Categories
                         .Select( c => new {
                             Name = c.CategoryName,
                             Amount = c.Products
                                       .Sum( p => p.Transactions
                                                   .Sum( t => t.TransactionAmount )
                                           )
                          });
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top