データベースに、picturelikes テーブルがあります。テーブル行のような新しい画像ごとに作成されます。これらのいいねを lastweek と pictureid でグループ化したいと思います。つまり、先週の 1 つの pic に対するすべてのいいねが蓄積され、1 つのいいねになる必要があります。
これは私の絵のようなテーブルです:
public partial class picturelike
{
public int idpicturelike { get; set; }
public int idpictures { get; set; }
public int iduser { get; set; }
public System.DateTime iddatetime { get; set; }
public int iduserlikedby { get; set; }
public int likenumber { get; set; }
}
これまで、このコードを書くことができました。これは、linq を使用した Web API コントローラー コードです。
var combo = from p in db.picturelikes
group p by new {p.iddatetime, p.idpictures } into pgroup
let count = pgroup.Count()
orderby count descending
select new SortedDto
{
IdPictures=pgroup.FirstOrDefault().idpictures,
IdPictureLike = pgroup.FirstOrDefault().idpicturelike,
IdUser = pgroup.FirstOrDefault().iduser,
IdDatetime = pgroup.FirstOrDefault().iddatetime,
IdUserLikedBy = pgroup.FirstOrDefault().iduserlikedby,
LikeNumber = pgroup.FirstOrDefault().likenumber
};
return combo;
他に何をする必要がありますか、このコードを機能させる方法、ここで立ち往生しています、どうすればいいですか?