0

我正在使用 LINQ 在 asp mvc 中实现服务层。例如,有像 Stackoverflow 这样的用户、帖子和投票。每个用户都有从赞成票和反对票中获得的声誉。

该投票表具有以下属性: id 、 postTypeId 、 voteTypeId 、 creationDate 、 VoterId

此 Post 表具有以下属性:id、userId ....

和用户表包括:id

对于每个upvote 2标记,对于每个downvote 1标记减少

我需要如何使用 Linq 编写查询如何查询,以显示声誉变化:每个日期的声誉、时间和日期,无论是赞成票还是反对票和相关帖子

这些是我要使用的属性,

var jointable = from vote in _dataContext.Votes
    join post in _dataContext.Posts on vote.PostId equals post.Id
    where vote.VoterId== id
    select new
    {  
        vote.Id,
        vote.CreationDate,
        vote.PostId,
        vote.VoteTypeId,
        post.PostTypeId,
        post.Title,
        post.IsAnonymous 
    };    

在此之后,有人可以帮我查询这些属性以将它们作为对象返回吗?

4

1 回答 1

0

您已经拥有的并不遥远,您只需要日期范围条件,即

var startDate = ...; // assume this will be selected from the UI
// assuming we are working with UTC (if you aren't, you should be)
startDate = startDate.ToUniversalTime();
var endDate = startDate.AddHours(24); // include full 24 hour day
var jointable = from vote in _dataContext.Votes
    join post in _dataContext.Posts on vote.PostId equals post.Id
    where vote.VoterId == id && vote.CreationDate >= startDate && vote.CreationDate < endDate
    select new
    {  
        vote.Id,
        vote.CreationDate,
        vote.PostId,
        vote.VoteTypeId,
        post.PostTypeId,
        post.Title,
        post.IsAnonymous 
    }; 
于 2014-01-12T18:11:49.667 回答