C# LINQ选择查询
我有这个作为我的模型 我要找的是一个LINQ表达式,它可以给我UserActivity记录,按所有用户朋友的C# LINQ选择查询,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我有这个作为我的模型 我要找的是一个LINQ表达式,它可以给我UserActivity记录,按所有用户朋友的UserActivity.DateTime排序 换句话说,如果一个用户有三个朋友,那么我需要这三个朋友的活动记录 我试过在和中使用。Contains,但我的LINQ目前相当差 或者有人能推荐一个不同的模型来给我相同的结果吗?如果您有用户的用户id,您希望朋友的活动可以用于当前模式: var results = from user in aspnet_User
UserActivity.DateTime
排序
换句话说,如果一个用户有三个朋友,那么我需要这三个朋友的活动记录
我试过在和中使用。Contains
,但我的LINQ目前相当差
或者有人能推荐一个不同的模型来给我相同的结果吗?如果您有用户的用户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;
我不知道这是否有帮助,但这是在我的头上,我甚至没有测试它:-)希望这有帮助。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;
Hrmm,如果您在
aspnet\u User
中添加一列FriendUserId
,并使用自引用外键,会发生什么情况?它会破坏aspnet架构吗?!?!您的模式可能是最好的,而不是修改aspnet模式
可能不是,但不希望这样做。我是否应该将UserFriend.FriendUserId与UserActivity.UserId关联?我是否应该将UserFriend.FriendUserId与UserActivity.UserId关联?这是类,而不是表。你应该添加引用,而不是fks。我喜欢这个,但更喜欢@Qorbani,因为它不需要连接。