C# 将SQL查询转换为C中的LINQ或lambda表达式并在EF Core中使用
我有三张桌子 Tbl_城市,Tbl_集团城市,Tbl_CtrCar。 我想将此SQL查询转换为C中的LINQ或lambda表达式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
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,那么您就成功了。