【问题标题】:How to write this Query using LINQ in C#.net?如何在 C#.net 中使用 LINQ 编写此查询?
【发布时间】:2017-10-30 10:24:16
【问题描述】:
SELECT * FROM tbl_scanxmlreports
WHERE Id_XmlMasterFile = (SELECT id 
                          FROM tbl_uploadfilereport
                          WHERE ProjectId=194);

很抱歉问这个简单的问题,但我是 LINQ 的新手。 在此先感谢大家。

【问题讨论】:

    标签: entity-framework linq c#-4.0 linq-to-entities


    【解决方案1】:

    一种解决方案可能是:

    var scanXmlReportsByProjectId = (from sxr in tbl_scanxmlreports
                                     join ufr in tbl_uploadfilereport on sxr.Id_XmlMasterFile equals ufr.id
                                     where ufr.ProjectId == 194
                                     select sxr).ToList();
    

    您必须 join 您的两个表并按您的 ID 194 过滤它(使用 where)。之后就是select 的结果。

    也请查看Microsoft Docs。创建查询将非常有帮助。

    【讨论】:

    • 非常感谢您的回复。
    【解决方案2】:

    如果我是正确的,它是这样的:

    var x = Id_XmlMasterfile.Where(a => a.ProjectId == 194).Select(id);
    var result = tbl_scanxmlreports.Where(b => b.Id_XmlMasterfile == x);
    

    但我想还有更有效的方法

    这是了解 EF 查询的好方法

    http://www.entityframeworktutorial.net/Querying-with-EDM.aspx

    【讨论】:

    • 非常感谢您的支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    相关资源
    最近更新 更多