I have below code written in foreach loop, I want to convert it to linq select method.
<code>`List<BidderDataDTO> bidsData = new List<BidderDataDTO>();
if(bidderDatas.Count > 0)
{
foreach (var bidderData in bidderDatas)
{
var data = new BidderDataDTO();
data.TenderId = bidderData.TenderId;
data.ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault();
data.FullName = _context.Users.Where(x => x.Userid == bidderData.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault();
data.Price = bidderData.Price;
bidsData.Add(data);
}
}`
</code>
<code>`List<BidderDataDTO> bidsData = new List<BidderDataDTO>();
if(bidderDatas.Count > 0)
{
foreach (var bidderData in bidderDatas)
{
var data = new BidderDataDTO();
data.TenderId = bidderData.TenderId;
data.ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault();
data.FullName = _context.Users.Where(x => x.Userid == bidderData.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault();
data.Price = bidderData.Price;
bidsData.Add(data);
}
}`
</code>
`List<BidderDataDTO> bidsData = new List<BidderDataDTO>();
if(bidderDatas.Count > 0)
{
foreach (var bidderData in bidderDatas)
{
var data = new BidderDataDTO();
data.TenderId = bidderData.TenderId;
data.ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault();
data.FullName = _context.Users.Where(x => x.Userid == bidderData.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault();
data.Price = bidderData.Price;
bidsData.Add(data);
}
}`
I tried following, but it’s not working. So any idea on this
`
<code> bidderDatas.Select(x => new BidderDataDTO()
{
TenderId = x.TenderId,
ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault(),
CompanyName = _context.Companies.Where(x => x.Id == x.CompanyId).Select(x => x.CompanyName).FirstOrDefault(),
FullName = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault(),
Price = x.Price,
Email = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Email).FirstOrDefault(),
}).ToList();`
</code>
<code> bidderDatas.Select(x => new BidderDataDTO()
{
TenderId = x.TenderId,
ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault(),
CompanyName = _context.Companies.Where(x => x.Id == x.CompanyId).Select(x => x.CompanyName).FirstOrDefault(),
FullName = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault(),
Price = x.Price,
Email = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Email).FirstOrDefault(),
}).ToList();`
</code>
bidderDatas.Select(x => new BidderDataDTO()
{
TenderId = x.TenderId,
ClosingDate = _context.Tenders.Where(x => x.Id == tenderid).Select(x => x.ClosingDate).FirstOrDefault(),
CompanyName = _context.Companies.Where(x => x.Id == x.CompanyId).Select(x => x.CompanyName).FirstOrDefault(),
FullName = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Firstname + " " + x.Lastname).FirstOrDefault(),
Price = x.Price,
Email = _context.Users.Where(x => x.Userid == x.CreatedUser).Select(x => x.Email).FirstOrDefault(),
}).ToList();`