我有這個作爲我的模型;LINQ選擇查詢
我正在尋找的是一個LINQ表達式,可以給我UserActivity記錄,通過所有的用戶朋友UserActivity.DateTime
排序。
換句話說,如果一個用戶有三個朋友,那麼我想要這三個朋友的活動記錄。
我試過使用.In
和.Contains
但我的LINQ目前很差。
或任何人都可以提出一個不同的模型,會給我相同的結果嗎?
我有這個作爲我的模型;LINQ選擇查詢
我正在尋找的是一個LINQ表達式,可以給我UserActivity記錄,通過所有的用戶朋友UserActivity.DateTime
排序。
換句話說,如果一個用戶有三個朋友,那麼我想要這三個朋友的活動記錄。
我試過使用.In
和.Contains
但我的LINQ目前很差。
或任何人都可以提出一個不同的模型,會給我相同的結果嗎?
我不知道如果這能幫助或沒有,但它是在我頭上,我甚至沒有測試它:-)希望這有助於。 USER_ID是您想要查看其朋友活動的用戶。
from a in UserActivity
where
(
from f in UserFriend
where f.Userid == USER_ID
select f.FriendUserId
)
.Distinct().ToList().Contains(a.UserId)
order by a.DateTime
select a;
感謝您的支持。這工作就像一種享受。 – griegs 2012-01-04 05:05:30
如果你有你想要的朋友活動,這樣的事情誰的用戶的用戶ID應與您攜手當前模式:
var results = from user in aspnet_User
join friend in UserFriend on user.UserId equals friend.UserId
join activity in UserActivity on activity.UserId equals friend.FriendUserId
where user.UserId == someUserId
orderby activity.DateTime ascending
select activity;
人力資源管理模式,如果你添加一個字段'FriendUserId'到'aspnet_User'會發生什麼,有自引用外鍵 - 這將打破'ASPNET schema'?!?!你的模式可能是最好的,而不是修改'aspnet模式' – xandercoded 2012-01-04 03:42:13
可能不是,但寧願不這樣做 – griegs 2012-01-04 03:44:03
我應該也許UserFriend.FriendUserId UserActivity.UserId? – griegs 2012-01-04 03:46:31