私はこれにこだわっています。Users2Users と ActivityLog の 2 つのテーブルがあります。ユーザーの友達である Users2Users のリストを検索し、タイムスタンプに基づいて最新のアクティビティをそれぞれ返し、そのタイプを確認したいと考えています。
Users2Users
int UserId
int TypeOfLink
int FriendId
ActivityLog
int Type
int UserId
DateTime Timestamp
私を悩ませているように見えるのは、Timestamp 値ではなく ActivityLog エンティティを取得することです。
私のfriendListクエリは次のようになります。
var friendList = (from u in db.Users2Users
where u.UserId == userId || u.FriendId == userId
&& u.TypeOfLink == 2 // confirmed as friend
orderby u.User.ScreenName ascending
select u).Distinct().ToList();
その後、foreach を試すつもりでしたが、Timestamp ではなく ActivityLog エンティティを返すにはどうすればよいでしょうか?
// get their last activity
foreach (var user in domusers)
{
var act = (from a in db.ActivityLogs
where a.UserId == user.UserId
select a.Timestamp).Max();
// other stuff
}