Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将SQL查询转换为C中的LINQ或lambda表达式并在EF Core中使用_C#_Sql_Sql Server_Linq_Lambda - Fatal编程技术网

C# 将SQL查询转换为C中的LINQ或lambda表达式并在EF Core中使用

C# 将SQL查询转换为C中的LINQ或lambda表达式并在EF Core中使用,c#,sql,sql-server,linq,lambda,C#,Sql,Sql Server,Linq,Lambda,我有三张桌子 Tbl_城市,Tbl_集团城市,Tbl_CtrCar。 我想将此SQL查询转换为C中的LINQ或lambda表达式 declare @fk_group uniqueidentifier SELECT @fk_group= FK_Group FROM dbo.Tbl_User WHERE UserName='meysam' SELECT dbo.Tbl_City.ID_City, dbo.Tbl_City.Name_City,COUNT( dbo.Tbl_CtrCar.Cur_y

我有三张桌子 Tbl_城市,Tbl_集团城市,Tbl_CtrCar。 我想将此SQL查询转换为C中的LINQ或lambda表达式

declare @fk_group uniqueidentifier
SELECT @fk_group= FK_Group 
FROM dbo.Tbl_User
WHERE UserName='meysam'

SELECT dbo.Tbl_City.ID_City, dbo.Tbl_City.Name_City,COUNT( dbo.Tbl_CtrCar.Cur_year)
FROM dbo.Tbl_City 
INNER JOIN dbo.Tbl_CtrCar ON dbo.Tbl_City.ID_City = dbo.Tbl_CtrCar.FK_City
WHERE ID_City IN (SELECT FK_City 
                  FROM dbo.Tbl_GroupCities
                  WHERE Active=1 AND ID_Group=@fk_group)
GROUP BY ID_City , Name_City 
我试过了,但没用

 var model = _TblUser.FirstOrDefault(x => x.UserName == "sampleUserName");
    var q = _TblGroupCities.Where(x => x.IdGroup == model.FkGroup && x.Active == true);
    var sample2 =
        (from x in _TblCity
         join a in _TblGroupCities on x.IdCity equals a.FkCity
         where a.Active == true && a.IdGroup == model.FkGroup
         select new
         {
             x.IdCity,
             x.NameCity
         }).ToList();
请看一看您查询中的功能尚未实现。GroupBy和我认为subselects也会做一个

SELECT * FROM TableName
在内存中,它将通过一个新的SQL查询对每一行进行分组,甚至对每一行进行分组

为此,最好使用RawSql方法


但是,如果您真的想学习LINQ并转换SQL,请看一下这个问题。我发现了我的问题,我不理解在Linq中使用两个连接和使用group by

我将此linq用于解决方案并运行

    var model = _TblUser.SingleOrDefault(x => x.UserName == type.UserName);

        var q = _TblGroupCities.Where(x => x.IdGroup == model.FkGroup && x.Active == true);
        tblCityViewModel = new List<MohasebKhodro.ViewModels.TblCityViewModel>();

        var sample2 =
            (from x in _TblCity
             join a in _TblGroupCities on x.IdCity equals a.FkCity
             where a.Active == true && a.IdGroup == model.FkGroup
             select new
             {
                 x.IdCity,
                 x.NameCity
             }).ToList();


        foreach (var item in sample2)
        {
            var er = _TblCtrCar.Where(x => x.FkCity == item.IdCity).Max(x => x.CurYear);
            tblCityViewModel.Add(new MohasebKhodro.ViewModels.TblCityViewModel
            {
                IdCity = item.IdCity,
                NameCity = item.NameCity,
                MaxCurrentYear = Convert.ToString(er)
            });
        }

你想做什么?问题是什么?我想将此查询转换为lambda。我不知道如何转换它,因为我有join and group by和nested Selection。您是否查找了如何通过LINQ进行join and group by?我认为如果您在询问之前尝试找到答案,人们会更有帮助。StackOverflow上的事情顺序如下:人们尝试做某事,出现错误\问题,然后在这里写下错误/问题,说明所做的事情和错误所在。我如何才能使用Linq to Lambda表达式?它充满了Lambda表达式。你还能要求什么?如果您想向您的经理或老师证明您的解决方案使用LINQ,那么您就成功了。