2011-09-12 5 views
0

ASP.Netについての質問があります。ビジュアルベーシック 2つのLINQクエリがあります。二つ目doesntのは、ASP.Net/VB.Net/LINQ:タイプ.objectqueryのオブジェクトをgeneric.listにキャストすることができません

"Unable to cast object of type 'System.Data.Objects.ObjectQuery'1[SelmaV2.Products]' to type 'System.Collections.Generic.List'1[System.String]'. 

HERESにコードを生成します:

Sub GetProducts(ByRef productDropList As DropDownList) 
    Dim productList As New List(Of String) 
    Using context As New SelmaEntities 
     productList = (From products In context.Products 
         Order By products.Product 
         Select products.Product).Distinct.ToList() 
    End Using 
    productDropList.DataSource = productList 
End Sub 
Sub GetProductNames(ByRef ProductNamesList As List(Of String), ByVal CurrentProduct As String) 
    Using context As New SelmaEntities 
     ProductNamesList = (From products In context.Products 
          Where products.Product = CurrentProduct 
          Order By products.Product_no Ascending 
          Select products).ToList 
    End Using 
End Sub 

答えて

0

さてあなたは文字列のリストを取得しようとしているが、あなたはのリストを選択しているように見えます製品。私はあなたが

Select products.Product 

の代わりに、クエリで

Select products 

ような何かをしたいと思います。 productsは一度に1つのプロダクトのみを参照するため、その範囲変数の名前を個人的にproductに変更します。

+0

うわー、それは私の愚かな間違いでした。製品を手に入れたい。ありがとう、結果は単なる製品になると思っていました。 –

関連する問題