【问题标题】:How to properly use anonymous type with Netflix OData API如何通过 Netflix OData API 正确使用匿名类型
【发布时间】:2011-05-21 06:22:02
【问题描述】:

我正在尝试在 LINQPad 中使用以下查询。它不工作。我得到了这个例外:

NotSupportedException:不支持使用表达式 t.BoxArt.SmallUrl 构造或初始化 f__AnonymousType0`1[System.String] 类型的实例。

from t in Titles where t.Id == "ApUFq" select new { t.BoxArt.SmallUrl }

【问题讨论】:

    标签: linq odata netflix


    【解决方案1】:

    我不熟悉 Netflix OData API,但您的问题似乎是 LINQ 的常见绊脚石。

    试试这个:

    from t in Titles
    where t.Id == "ApUFq"
    select new t.BoxArt.SmallUrl;
    

    或者:

    from t in Titles.Where(t0 => t0.Id == "ApUFq").ToArray()
    select new { t.BoxArt.SmallUrl };
    

    一个或两个都适合你。

    【讨论】:

      【解决方案2】:


      WCF 数据服务客户端 linq 处理器仅支持具有成员绑定分配的投影。这意味着当你投影出一个字段时,你需要将它分配给投影类型中的另一个字段。

      NotSupportedException:不支持使用表达式 t.BoxArt.SmallUrl 构造或初始化 f__AnonymousType0`1[System.String] 类型的实例。

      from t in Titles
      where t.Id == "ApUFq"
      select new { smallUrl = t.BoxArt.SmallUrl }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-06
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 2022-11-04
        • 1970-01-01
        • 1970-01-01
        • 2011-05-18
        相关资源
        最近更新 更多