C# SQL Server连接正在工作,linq不可用

C# SQL Server连接正在工作,linq不可用,c#,sql-server,linq,C#,Sql Server,Linq,此linq语句将不起作用: var other = from g in picks join sp in _playersContext.SportPlayers on g.SportPlayerID equals sp.ID select g; 此T-SQL语句返回以下数据: SELECT * FROM draftpick dp JOIN FF2018AllSportsPlayers.dbo.Sport

此linq语句将不起作用:

var other = from g in picks
            join sp in _playersContext.SportPlayers
                    on g.SportPlayerID equals sp.ID
            select g;
此T-SQL语句返回以下数据:

SELECT * 
FROM draftpick dp
JOIN FF2018AllSportsPlayers.dbo.SportPlayer sp ON dp.SportPlayerID = sp.ID
WHERE dp.DraftTeamManagerID = 7
我一直在想为什么在过去的45分钟左右

错误消息是:

ArgumentNullException:值不能为null。
参数名称:entityType
Microsoft.EntityFrameworkCore.Utilities.Check.NotNull(T值,字符串参数名称)


将两个集合强制转换为列表首先起作用,但不确定原因,可能与异步任务有关

var picks = await _context.DraftPicks.Where(p => p.DraftTeamManagerID == id).ToListAsync();
var players = await _playersContext.SportPlayers.ToListAsync();

一个复杂的因素是,您正在连接来自两个不同上下文的查询(这只有在看到您的答案时才清楚,但在您的问题中应该是可见的)。EF不能从源于不同上下文的数据库集组合一条SQL语句。