2010-06-09 5 views
0

나는 내 Linq 로프의 끝에 도달했습니다. 너의 도움이 필요해!Linq to Sql Projection 도움말

Heres는 내 테이블 구조 첫 번째 (SQL 오브젝트에 대한 모든 LINQ) :

InventoryItems 
    -ID 
    -AmtInStock 

IventoryKits 
    -ID 

InventoryKits_to_InventoryItems 
    -InventoryItemID 
    -InventoryKitID 

그래서 내가 어떻게 얻는 아무 생각이 다음

var q2=from k in GetAllKits()//returns IQueryable<InventoryKit> 
        select new VMPublication()//ViewModel Object 
        { 
         ID = k.ID, 
         Name = k.Name, 
         WebAmountInStock = ,//need to get the Min() AmtInStock from InventoryItems here 
         ItemCode = k.ItemCode, 
         WebAmountOrdered = k.AmtOrdered.ToString(), 
         WebReminderAmount = "", 
         WebAmountWarning="", 
         Type = "Kit" 
        }; 

같은 투사를 할 필요가있는 분() 해당 쿼리에서 InventoryItem의 AmtInStock.

도와주세요! 매우 감사!

답변

0

나는 당신의 연결 이름에서 추측하지만, 같은 것을하려고 해요 :

var q2=from k in GetAllKits()//returns IQueryable<InventoryKit> 
       select new VMPublication()//ViewModel Object 
       { 
        ID = k.ID, 
        Name = k.Name, 
        WebAmountInStock = (from i in k.InventoryKits_to_InventoryItems 
             select i.InventoryItem.AmtInStock).Min(), 
        ItemCode = k.ItemCode, 
        WebAmountOrdered = k.AmtOrdered.ToString(), 
        WebReminderAmount = "", 
        WebAmountWarning="", 
        Type = "Kit" 
       }; 
+0

를 내가 가지고 : System.InvalidOperationException : 표현을 번역 할 수 없습니다 '표 (REIP_InventoryKit) 어디에요 (K => k.Active) .Min(). ToString(), ItemCode() => 새로운 VMPublication() ID = k.ID, Name = k.Name, WebAmountInStock = k.REIP_XREF_InventoryKits_to_InventoryItems.Select (i => i.REIP_InventoryItem.AmtInStock) = k.ItemCode, WebAmountOrdered = k.AmtOrdered.ToString(), WebReminderAmount = "", WebAmountWarning = "", Type = "Kit"})) '를 SQL로 변환하여 로컬 표현식으로 처리 할 수 ​​없습니다. – Micah

+0

그게 옳은 대답, 지금은 내 노동 조합 문제를 해결하기 위해 리팩토링해야합니다. 고마워! – Micah