【问题标题】:Local sequence not supported on LINQ to SQL. So how can I do this query?LINQ to SQL 不支持本地序列。那么我该怎么做这个查询呢?
【发布时间】:2013-11-17 10:55:33
【问题描述】:

这是我的疑问:

var utenti = from User utente in db.User
             join amico in amiciParsed on new { utente.Nome, utente.Cognome } equals new { Nome = amico.first_name, Cognome = amico.last_name }
             select utente;

但我收到了这条消息:

在查询的 LINQ to SQL 实现中不能使用本地序列 除包含运算符之外的运算符。

那么我该如何解决这种情况呢?尝试存储在变量 db.User 中,但没有任何变化。

【问题讨论】:

    标签: c# .net linq linq-to-sql


    【解决方案1】:

    这样做:

    var utenti = from User utente in db.User.AsEnumerable()
                 join amico in amiciParsed on 
                     new { utente.Nome, utente.Cognome } equals 
                     new { Nome = amico.first_name, Cognome = amico.last_name }
                 select utente;
    

    但是如果你想扩展查询要小心,例如:

    var utenti = from utente in (from User utente in db.User
                                 where utente.Name.StartsWith(searchText)
                                 select utente).AsEnumerable()
                 join amico in amiciParsed on 
                     new { utente.Nome, utente.Cognome } equals 
                     new { Nome = amico.first_name, Cognome = amico.last_name }
                 select utente;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多