LINQ 和嵌套查询

问题描述

我需要你的帮助,我是 ASPNET mvc 的新手,我对 LINQ 的理解有一个大问题:D 我需要做这个简单的查询

Select * from Scarico
where Scarico.CaricoId in
(Select Id from Carico where Carico.MattonieraId = ID) <-- ID is

我尝试使用这种方法来检索 Scarichi 列表:

private List<Scarico> GetScarichiList(Guid id)
{
    var listaCarichi = from Carico in _db.Carico
                        where Carico.MattonieraId.Equals(id)
                        select Carico.Id;

    var ScarichiList = (from Scarico in _db.Scarico
                            where listaCarichi.Contains(Scarico.Id)
                            select Scarico).ToList();

    return ScarichiList;
}

第二个变量“ScarichiList”不包含任何值,实际上它应该包含2个值... 我哪里错了?

提前致谢

编辑:

自动生成sql查询 1 (listaCarichi):

SELECT [Extent1].[Id] AS [Id] FROM [dbo].[Carico] AS [Extent1] WHERE [Extent1].[MattonieraId] = @p__linq__0} 

查询 2(ScarichiList):

SELECT
    [Extent1].[Id]      AS [Id],[Extent1].[Stato]   AS [Stato],[Extent1].[DataReg] AS [DataReg],[Extent1].[UltAgg]  AS [UltAgg],...
FROM [dbo].[Scarico] AS [Extent1]
WHERE EXISTS (SELECT 1 AS [C1] FROM [dbo].[Carico] AS [Extent2] WHERE ([Extent2].[MattonieraId] = @p__linq__0)
  AND ([Extent2].[Id] = [Extent1].[Id]) )

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)