這裏是我的代碼:加入兩個表之間使用LINQ,從只有一個返回記錄
public IEnumerable<IUIUPCItemShort> GetActiveWithDefaultCost()
{
var query = from upc in DataManagerFactory.Get().Manage<IUPCItem>().GetAll()
join inv in DataManagerFactory.Get().Manage<IInventory>().GetAll() on upc.UPCID equals inv.UPCID
where inv.ExitDate == null
&& upc.UnitCost == null
select upc;
return
query.Cast<IUIUPCItemShort>().ToList();
基本上,我試圖做兩個表,UPC
和Inventory
之間的加入,並希望有一個列表只有UPC
滿足WHERE
條件,因爲我只想向用戶顯示一個UPC
的列表。我明明我做的事情真的錯了,因爲我得到這個消息:
無法轉換類型「System.Linq.Expressions.MethodCallExpressionN」的對象鍵入「SubSonic.Linq.Structure.ProjectionExpression」。
我認爲這個問題是在我的LINQ代碼,especifically在select upc;
我該怎麼辦我想要實現什麼?
謝謝。
添加AsEnumerable()做到了。我認爲它會是那麼簡單,但是你爲我節省了幾個小時的研究和試驗和錯誤。謝謝! – Antrim