2009-02-27 52 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