2009-02-27 83 views
0

當我編寫如下所示的代碼時,我收到此錯誤消息:「不支持查詢運算符'ElementAtOrDefault'。」關於Linq到SQL的一個問題

我該如何解決?

Dim tmpQuestion As New UIData 
    Dim strViews = From t In tmpQuestion.LU_QUESTIONs _ 
         Where t.ID_QUESTION = Request.QueryString("IdQuestion") _ 
         Select t 
    Dim mtViews = strViews(0).MT_VIEWS 

回答

3

您還沒有真正查詢過。 strViews不是結果集,它是查詢。你需要實際檢索一些數據。

var chosen = strViews.FirstOrDefault(); 
+0

關於後期綁定的好處 - 如果你不小心,可以真的把你搞砸了。 – 2009-02-27 14:30:15

0

我在VB或LINQ2SQL不是專家,但沒有這沒有什麼關係,你說strViews(0).MT_VIEWS同時有一個機會,strViews可以爲空的事實呢?

3

您是否嘗試過使用FirstOrDefault(),然後檢查以確保它不爲空。我的VB語法可能是可疑的,但你明白了。

Dim strView = (From t In tmpQuestion.LU_QUESTIONS _ 
        Where t.ID_QUESTION = Request.QueryString("IdQuestion") _ 
        Select t).FirstOrDefault() 

Dim mtViews as ... 
If Not strView Is Nothing 
    mtViews = strView.MT_VIEWS 
EndIf