微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LINQ 和嵌套查询

如何解决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 举报,一经查实,本站将立刻删除。