Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
将sql转换为Lambda表达式_Sql_Linq_Asp.net Mvc 4_Razor_Lambda - Fatal编程技术网

将sql转换为Lambda表达式

将sql转换为Lambda表达式,sql,linq,asp.net-mvc-4,razor,lambda,Sql,Linq,Asp.net Mvc 4,Razor,Lambda,盖伊,我需要一个Lambda表达式来表示这个sql语句 select GalleryId, Max(Bid) from BidModels where GalleryId in (select GalleryId from BidModels where UserId = (UserId)) group by GalleryId 这是你可以做到的 var galleryIds = (bidModelses.Where(b => b.UserId == [YOURPARAMETER])

盖伊,我需要一个Lambda表达式来表示这个sql语句

select GalleryId, Max(Bid)
from BidModels
where GalleryId in (select GalleryId from BidModels where UserId = (UserId))
group by GalleryId

这是你可以做到的

var galleryIds = (bidModelses.Where(b => b.UserId == [YOURPARAMETER])
                 .Select(b => b.GalleryId));

var query = (bidModelses.Where(bm => galleryIds.Contains(bm.GalleryId))
            .GroupBy(bm => bm.GalleryId)
            .Select(gbm => new {gbm.Key, MaxBid = gbm.Max(p => p.BidId)}));

我不明白您为什么需要子查询,因为您可以选择传入UserId=UserId的所有出价。考虑到这一点:

var userid = <whatever>;

var query = from b in BidModels
            where b.UserId = userid
            group by b.GalleryId into g
            select new {Id = g.Key, MaxBid = g.Max(x => x.Bid)};
var userid=;
var query=来自BID模型中的b
其中b.UserId=UserId
b.GalleryId分组为g
选择新的{Id=g.Key,MaxBid=g.Max(x=>x.Bid)};

这似乎是答案,感谢您的帮助:

from b in BidModels
let  MyGallery = from a in BidModels where a.UserId == (1) select new { a.GalleryId }
where MyGallery.Any()
group b.Bid by b.GalleryId into g
select new 
 { Id     = g.Key, 
   MaxBid = g.Max()
 } 

userid=userid是no op(始终为true)。您是否打算将其中一个作为输入参数?抱歉,是userid是变量应该是userid=some parr?您确定是指lambda还是LINQToSQL?我正在尝试查询数据库,查找与所有用户的出价相关的特定于某个用户的产品出价。换言之,我想让一个投标人知道他的出价与同一套产品的其他出价相关。