회사의 창고 설명별로 그룹화 된 LINQ 쿼리가 있습니다. 이제는 그 달의 물품 무게를 합산해야했습니다. 그런데 나는 "SCRP"라는 단어가 들어있는 필드에서 발견되는 스크랩의 총 무게를 더한 또 다른 필드를 가지고 있습니다. 나는 이렇게 할 때 악명 높은 객체 참조 오류가 객체 오류의 인스턴스로 설정되지 않는다. 널 (null) 또는 무언가가 있기 때문이라고 가정합니다. 필드에 다른 값 또는 널 (null)이 들어 있습니다.null을 반환하는 데이터를 가져 오는 where 절이있는 linq의 필드를 더하는 방법은 무엇입니까?
이것은 내가 가지고있는 쿼리입니다. UserSequence 비트를 추가 할 때까지 완벽하게 실행됩니다.
P.s 스크랩 비율은 작동하지 않지만 같은 문제로 인해 발생합니다.
var fistDayofPreviousMonth = DateTime.Today.AddMonths(-4);
var testScrapQuery = from s in mapicsSession.Query<InventoryHistory>()
where s.PostedTimestamp > fistDayofPreviousMonth
orderby s.Warehouse.Description
group s by s.Warehouse.Description
into test
let tw = mapicsSession.Query<InventoryHistory>()
.Where(x => x.Warehouse.Description == test.Key)
.Sum(x => x.Item.Weight)
let sw = mapicsSession.Query<InventoryHistory>()
.Where(x => x.Warehouse.Description == test.Key
&& x.UserSequence == "SCRP")
.Sum(x => x.Item.Weight)
select new
{
Warehouse = test.Key,
TotalWeight = tw,
ScrapWeight = sw
//ScrapPercentage = (sw/tw) * 100
};
실제 SCRP가있는 필드가 있는지 확인하기 위해 쿼리 할 때 작동하지만, 합계가되면 나누기가됩니다. –
여기 내 전체 오류 : NHibernate.Exceptions.GenericADOException : 쿼리를 실행할 수 없습니다 [SQL : SQL 사용할 수 없음] ---> System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. at lambda_method (Closure, Object []) –