【问题标题】:Type inference failed in the call to 'SelectMany'调用“SelectMany”时类型推断失败
【发布时间】:2011-05-18 18:11:20
【问题描述】:

我有这个 LINQ 查询:

        var businessAffiliates = from b in context.Businesses
                                 from ba in b.BusinessOfficers
                                 from p in ba.Person                                     
                                 select b;

但我收到此错误:

类型的表达式 'myproj.Models.Person' 是不允许的 在查询的后续 from 子句中 具有源类型的表达式 'System.Linq.IQueryable'。 调用类型推断失败 '多选'。

【问题讨论】:

  • 查询显示不完整,您可以包括其余部分吗?如果这就是全部,为什么还要额外的from 子句?
  • 这个查询有什么意义?它与var query = context.Businesses 有何不同?
  • 说明你真正想要发生的事情,而不仅仅是你得到的错误。我有一个想法,但我宁愿不搞心理调试,如果你的问题是帮助互联网上的其他人,他们应该能够找到它。

标签: linq entity-framework-4


【解决方案1】:

看起来 ba.Person 它是一个对象,但 from 子句需要一个对象序列。 如果您将该行替换为let p = ba.Person,那么它会起作用。但我想知道为什么你需要那些额外的 from 子句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    相关资源
    最近更新 更多