2
我堅持這一點。我有兩個表:Users2Users和ActivityLog。我想查找用戶朋友Users2Users的列表,並根據其時間戳返回其最新活動,然後檢查它是什麼類型。返回實體與最新的時間戳匹配userId LINQ
Users2Users
int UserId
int TypeOfLink
int FriendId
ActivityLog
int Type
int UserId
DateTime Timestamp
似乎困擾我的事情是獲取ActivityLog實體,而不是它的Timestamp值。
我的好友列表查詢看起來是這樣的:
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,但我怎麼返回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
}
感謝您的支持。我想在你的第一個代碼中,哪裏錯過了lambda?在哪裏(a => a.UserId == user.UserId) – testpattern 2012-08-10 14:18:13
@testpattern:感謝您指出。現在應該修好了。 – 2012-08-10 14:30:38
馬丁,我稍後再試一下,並告訴你。謝謝你的幫助。 – testpattern 2012-08-10 16:44:16