【问题标题】:MySQL query to linqMySQL 查询到 linq
【发布时间】:2020-05-15 14:11:26
【问题描述】:

我有 MySQL 查询

SELECT  Task_Number, BM_Number, BU, Status
FROM
    eng_effort 
    INNER JOIN eng_task on eng_effort.Eng_Task_ID = eng_task.Eng_Task_ID
where Status = "In Progress" and User_ID = "7"
group by Task_Number;

我如何在 linq 中编写它。请帮忙。

【问题讨论】:

  • 到目前为止你做了什么?您是否已经完成了与 db 部分的连接,或者您还需要这方面的帮助吗?
  • @OlivierJacot-Descombes :我已经使用实体框架完成了与数据库的连接。我想要一个查询将其转换为 linq 查询。

标签: mysql entity-framework linq api


【解决方案1】:

使用 LINQ 语法,您可以编写如下内容:

var query = (from effort in context.eng_effort
            join task in context.eng_task on effort.Eng_Task_ID equals task.Eng_Task_ID
            where task.Status == "In Progress" && task.User_ID == "7"
            select new { task.Task_Number, ... })
            .GroupBy(a => a.Task_Number);

另外,你确定User_ID 是一个文本列吗?

使用扩展方法语法:

context.eng_effort
    .Join(
        context.eng_task,
        effort => effort.Eng_Task_ID,
        task => task.Eng_Task_ID,
        (effort, task) => (effort, task)) // Using a ValueTuple here
    .Where(et => et.task.Status == "In Progress" && et.task.User_ID == "7")
    .Select(et => new { et.task.Task_Number, ... })
    .GroupBy(a => a.Task_Number);   

或者您可以执行Perform grouped join

【讨论】:

  • 谢谢,是的,User_ID 是字符串。从上面的查询中,我需要按 eng_task 分组。任务编号
猜你喜欢
  • 2020-04-15
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 2010-11-12
相关资源
最近更新 更多