【问题标题】:A Question About Linq To Sql一个关于 Linq To Sql 的问题
【发布时间】:2009-02-27 14:16:26
【问题描述】:

当我编写如下代码时,我收到以下错误消息:“不支持查询运算符 'ElementAtOrDefault'。”

我该如何解决?

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

【问题讨论】:

    标签: asp.net linq-to-sql


    【解决方案1】:

    你还没有真正询问过。 strViews 不是结果集,它查询。您需要实际检索一些数据。

    var chosen = strViews.FirstOrDefault();
    

    【讨论】:

    • 关于后期绑定的好点子——如果你不小心,那真的会把你搞砸。
    • 谢谢,这句话很重要:“strViews 不是结果集,而是查询。”
    【解决方案2】:

    您是否尝试过使用 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
    

    【讨论】:

      【解决方案3】:

      我不是 VB 或 LINQ2SQL 方面的专家,但这与您说 strViews(0).MT_VIEWS 而 strViews 有可能为空这一事实没有任何关系吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多