我创建了以下viewmodel,用于从我的数据库中获取单个列表中3个表的所有结果:
public class ResultsVM
{
public Room room { get; set; }
public Hotel hotel { get; set; }
public List<Picture> pictures { get; set; }
}
然后我将我的视图传递给ResultsVM
@model List <ResultsVM>
现在我正在尝试从此列表中提取一个包含不同对象Hotel
的新列表。
有没有办法用Linq实现它,还是我应该循环并逐个比较它们?
答案 0 :(得分:2)
假设List<ResultsVM> results = ...
var hotels = results
.Select(r => r.Hotel)
.GroupBy(h => h.HotelId)
.Select(g => g.First())
.ToList();
个对象具有唯一ID,您可以使用此LINQ查询获得不同的酒店:
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>