我有以下代码
Dim LinQuery = From product In AppData.ProductInfo
Where product.Product_Name Like Keyword Or
product.SubCatogory_Name Like Keyword Or
product.SWC Like Keyword
Select Brand = product.Brand_Name,
Name = product.Product_Name,
Code = product.Product_code,
Category = product.SubCatogory_Name,
InitialStock = product.Init_Stock,
CurrentStock = product.Current_Stock
有人可以告诉我哪种变量类型可以保存LinQ结果,在我的情况下为'LinQuery'。
我的意图是创建一个返回LinkQ结果的公共函数。为此,我必须编写函数返回的变量类型。
答案 0 :(得分:2)
在这种情况下,您有一个anonymous type。如果要返回结果,请将数据投影到您创建的类中。例如(并且我的VB.Net非常生锈,因此可能需要调整)创建一个新类:
Public Class Foo
Public Property Brand As String
Public Property Name As String
Public Property Code As String
Public Property Category As String
Public Property InitialStock As Integer
Public Property CurrentStock As Integer
End Class
您的Linq查询将更改为此:
Dim query As IEnumerable(Of Foo) =
From product In AppData.ProductInfo
Where product.Product_Name Like Keyword Or
product.SubCatogory_Name Like Keyword Or
product.SWC Like Keyword
Select New Foo With {
.Brand = product.Brand_Name,
.Name = product.Product_Name,
.Code = product.Product_code,
.Category = product.SubCatogory_Name,
.InitialStock = product.Init_Stock,
.CurrentStock = product.Current_Stock }