【问题标题】:3rd level filter with LINQ in WCF Data Services (LINQPad)WCF 数据服务 (LINQPad) 中使用 LINQ 的第三级过滤器
【发布时间】:2013-06-05 11:12:52
【问题描述】:

大家好,也许我写错了,但不能让它工作。

我得到了以下实体模型: [分部]--[专场]--[电影]

我运行以下 LINQ 查询(在 LINQPad 中):

from d in Divisions select new {d, d.Sessions, 
films = from s in d.Sessions where s.Film.Title !=null select s}

但我得到了错误:

使用表达式 d.Sessions.Where 构造或初始化 f__AnonymousType03[LINQPad.User.Division,System.Collections.ObjectModel.Collection1[LINQPad.User.Session],System.Collections.Generic.IEnumerable`1[LINQPad.User.Session]] 类型的实例(s => (s.Film.Title != null)) 不受支持。

我想知道在 WCF 数据服务中应用第 3 级过滤器是否存在限制,或者这是我的误解。

【问题讨论】:

标签: linq entity-framework entity-framework-4 wcf-data-services linqpad


【解决方案1】:

看来here这家伙说的对 通过使用? (iif) 这样的运算符“title= (s.Film == null) ? null : s.Film.Title” 工作正常。因此,即使 Film 对象为空,以下表达式也可以正常工作。

var _divsess = from d in Divisions select new 
  {d , sessionsfilms = from s in d.Sessions 
   select new {s, title= (s.Film == null) ? null : s.Film.Title }};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多