2014-09-12 2 views
0

LINQ에서 어떻게 할 수 있습니까?이 SQL 쿼리를 변경하려면 어떻게해야합니까? [MAX (id) 선택]을 linq

SELECT MAX(ptc.idProducto_Talle_Color), t.idTalle, t.Numero 
FROM Producto_Talle_Color ptc INNER JOIN Talle t ON ptc.Talle_idTalle = t.idTalle 
WHERE ptc.Producto_idProducto = 3 
GROUP BY t.idTalle, t.Numero 

아이디어가 있으십니까?

감사

+1

당신을보고 당신의 기존 코드 I에 적용 할 수있는 무언가이다 구글 검색과 관련하여 좀 더 많은 노력을 기울일 것을 제안합니다. http://msdn.microsoft.com/en-us/library/vstudio/bb386922(v=vs.100).aspx – MethodMan

답변

0

linq 당신의 대답은 : lambda expression

var res = from y in (
from ptc in context.Producto_Talle_Color 
where ptc.Producto_idProducto == 3 
group ptc by ptc.Talle_idTalle 
into grouedres select 
new {max=grouedres.Max(x=>x.idProducto_Talle_Color),id=g.Key} 
) 
join t in context.Talle on y.id equals t.idTalle 
select {max,t.idTalle, t.Numero}; 
1

당신의 대답은 다음과 같습니다

여기
var res=context.Talle.Select(t=> 
t.idTalle, 
t.Numero, 
t.Producto_Talle_Color.Max(ptc=>ptc.idProducto_Talle_Color) 
).Where(t=>t.Producto_Talle_Color.Producto_idProducto == 3); 
관련 문제