我有以下Post类:
public class Post
{
public string Id {get;set;}
public string Content {get;set;}
public IList<Comment> Comments {get;set;}
}
public class Comment
{
public int OrderNumber {get;set;} //kind of CommentId
public string AuthorId {get;set;}
public string Text {get;set;}
public IList<string> Voters {get;set;} //Ids of users who liked the post
}
每个评论可能有数千个喜欢,但我需要在客户端上只显示它们的数量,所以我创建了以下索引:
Map = posts => from post in posts
select new {
Id = post.Id,
Content = post.Content,
Comments = post.Comments.Select(x =>
new CommentProjection {
AuthorId = x.AuthorId,
Text = x.Text,
VotersCount = x.VotersCount
}),
};
问题是我需要突出显示用户已经喜欢的评论。有没有办法修改上面的索引以将此信息添加到查询结果中?
答案 0 :(得分:3)
您可以采用其他方式,跟踪用户的评论,以便显示他们喜欢的评论。
答案 1 :(得分:0)
为什么没有一个名为Votes
的独立实体?它可以有3个简单字段,一个是用户表的外键,另一个是注释表。第3个(位)表示这是一个downvote还是upvote(如)。
然后,您可以直接轻松地查询此表(通过过滤用户ID和带有“upvote”的用户ID)