다음 linq 표현식이 있습니다. Nvarchar 필드에서 숫자 값의 합계를 계산합니다. 다음 코드를 사용하여이 작업을 수행합니다. 하지만 이걸 실행하려고하면 오류가 발생합니다.Int.Parse in Linq Expression
var m = new MaterialModelContainer();
var list = (from x in
(
from inv in m.INVs
join l in m.LIBs on inv.MESC equals l.MESC
join o in m.OUTs on inv.MESC equals o.MESC
join t in m.TRANs on inv.MESC equals t.MESC
where t.TYPE == "60"
select new
{
l.MESC,
l.LINE_NO,
l.UNIT_LINE,
Description = l.DES + " " + l.PART_NO,
inv.NEW_QTY,
o.PJ,
o.DATE,
o.QTY,
o.QTY_REC,
TranQty = t.QTY,
tranDate = t.DATE
}
)
group x by
new
{
x.MESC,
x.LINE_NO,
x.UNIT_LINE,
x.Description,
x.NEW_QTY,
x.PJ,
x.DATE,
x.QTY,
x.QTY_REC
}
into g
select new
{
QTY_Consum_1 = g.Where(c => int.Parse(c.tranDate) >= cuDate && int.Parse(c.tranDate) <= endDate).Sum(d => int.Parse(d.TranQty))
}
).ToList();
오류 설명 : 엔티티
LINQ 메소드 'INT32 파싱 (선택 System.String)'방법 및이 방법을 인식하지 못하는 경우에는 점포 식으로 번역 할 수없는
는이 문제를 어떻게 해결하고이 C를 쓸 수 있습니다 이게 뭐니?
내가이
select new
{
QTY_Consum_1 = g.Where(c => SqlFunctions.StringConvert(c.tranDate) >= cuDate && SqlFunctions.StringConvert(c.tranDate) <= endDate).Sum(d => SqlFunctions.StringConvert(d.TranQty)),
g.Key.MESC
}
).ToList();
에 코드를 변경하지만 WHERE 절에이 오류
아마도이 답변은 도움이 될 것입니다 : [EF 4.0에서 문자열을 int로 변환] (http://stackoverflow.com/questions/5754218/convert-string-to-int-in-ef-4-0) –