C# 如何编写LINQ查询?

C# 如何编写LINQ查询?,c#,linq,C#,Linq,在上面,您可以看到以下用户和状态更新表格 在followerusers中,我存储Follower的Username和Follower的Username。 在StatusUpdates中,我存储用户的状态更新 下面您可以看到我编写的原始查询,该查询用于检索登录用户的状态更新 var list = new List<StatusUpdate>(); list = (from x in db.StatusUpdates where x.Author == User.Ide

在上面,您可以看到
以下用户
状态更新
表格

followerusers
中,我存储
Follower
Username
Follower
Username
。 在
StatusUpdates
中,我存储用户的
状态更新

下面您可以看到我编写的原始查询,该查询用于检索登录用户的状态更新

var list = new List<StatusUpdate>();
list = (from x in db.StatusUpdates 
        where x.Author == User.Identity.Name 
        orderby x.Timestamp descending 
        select x)
       .Take(count).ToList(); 
var list=newlist();
列表=(从db.StatusUpdates中的x开始)
其中x.Author==User.Identity.Name
orderby x.时间戳递减
选择x)
.Take(count.ToList();

如何从以下登录用户获取状态更新?

尽管我没有您的数据库可以测试,但以下内容应该可以工作。请注意,在调用ToList之前,它实际上不会执行,因此所有操作都应该在单个数据库查询中进行。另外,不需要创建一个新列表,因为它将被您的查询覆盖,所以我稍微整理了一下

var Users = from f in db.FollowingUsers 
            where f.FollowerId == User.Identity.Name
            select f.FollowingId;

var list = (from x in db.StatusUpdates 
           from y in Users
           where x.Author == y 
           orderby x.Timestamp descending 
           select x)
           .Take(count).ToList(); 

你能说得更具体些吗?什么不起作用?你收到错误消息了吗?它编译了吗?您是否只是获取了错误的数据?另外,您是否正在使用LINQtoSQL查询SQL数据库?还是别的什么?没有错误。列表返回注释。使用SQL Server Express可以枚举“监视”窗口中的用户,并检查其中是否有值?(不过,我可能会将所有用户名移到另一个表中,并将该表中的两个表连接到用户ID上,而不是用户名。)抱歉。它可以工作,但返回错误的结果。它不显示当前登录用户的状态更新。