我有一个可以在SQL中汇总的查询,如下所示;
Select
S.StockCode
From
StockToCheck As S
Inner Join
GetPOSStock(S.StockCode) As C
On S.StockCode = C.StockCode;
我正在尝试在Linq中执行相同的操作,但似乎我无法将参数传递给我正在加入的函数,因为它尚未被Linq解析。
我想它看起来像这样(vb);
Dim x = From S In StockToCheck
Join C In GetPOSStock(S) On S Equals C.ProductCode
其中S var是字符串列表。这样就不会声明错误'S'并指向函数调用/ join(GetPOSStock)中的S.所以在Linq中似乎不可能这样做,任何人都可以确认吗?
提前致谢
赖安
答案 0 :(得分:1)
以下对我有用:
Using dc As New TestDC
Dim x = From s In dc.Stocks
From c In dc.GetPOSStock(s.Code)
Where s.Code = c.Code
Select s.Code
End Using
我认为GetPOSStock是数据库中的表值函数,所以我相应地创建了一个。我还为Stock和POSStock创建了单独的类,并使用Linq-to-SQL设计器将POSStock指定为GetPOSStock的返回值。