【问题标题】: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;