我有以下内容:
List<ImageModel> Images;
此列表中的所有图像都有Votes = 0且ImageModel为:
public ImageModel {
public Int32 Id { get; set; }
public Int32 Votes { get; set; }
}
我需要:
查询context.Images并按Id找到对应的图像;
获取这些图片的投票并填入列表。
图片实体具有相同的属性:
public Image {
public Int32 Id { get; set; }
public Int32 Votes { get; set; }
// More properties
}
更新
我可以这样做:
context.Images.Select(x => new { Id = x.Id, Votes = x.Votes }).ToList()
然后遍历ImageModel列表并填写投票...
但是我不想查询所有图像...只有在ImageModel列表中具有Id的那些...所以基本上我需要在图像和上下文之间进行检测.Ind的图像并将投票填入图像列表。
答案 0 :(得分:1)
试试这个:
context.Images.AsEnumerable().Where(x=>Images.Any(i=>i.Id==x.Id)).Select(x => new { Id = x.Id, Votes = x.Votes }).ToList();
如果您不想调用AsEnumerable
方法,则必须先从Image
列表中选择ID,如下所示:
var ids = Images.Select(e => e.Id);
context.Images.Where(x=>ids.Contains(x.Id)).Select(x => new { Id = x.Id, Votes = x.Votes }).ToList();