0
LINQ to SQLでSQLクエリを作成しようとしていますが、4時間後に私はあきらめました。LINQ to SQLのSQLクエリ
select B.* from Bid B
join
(
select BidId, max(BidVersion) as maxVersion
from Bid
group by BidId
) X on B.BidId = X.BidId and B.BidVersion = X.maxVersion
私はstackoverflowでいくつかのヒントを見たが、役に立たなかった。私はいくつかのように非常に悪いのコードを使用しています
:
List<Bid> bidEntities = new List<Bid>();
var newest = from bid in _dbContext.Bids
group bid by bid.BidId into groups
select new { Id = groups.Key, Vs = groups.Max(b => b.BidVersion) };
foreach (var group in newest)
{
bidEntities.Add(await _dbContext.Bids.Where(b => b.BidId == group.Id && b.BidVersion == group.Vs).SingleOrDefaultAsync());
}
はどんなアドバイスをいただき、ありがとうございます。このような
ありがとうございます!一つのこと:First()の代わりにFirstOrDefault()を使わなければならなかった。あなたの解決策では例外が発生しました:) –
@Piotr_Kowalskiああ、私の悪い - FirstOrDefaultは正しい動作です:) - 私は将来の視聴者のために修正するための編集を行います – Rob