【发布时间】:2018-05-04 04:17:27
【问题描述】:
我有一个看似简单的 Post 表,其中包含多个投票,如下所示:
帖子:
namespace Api.Models
{
public class Post
{
public int id { get; set; }
public bool deleted { get; set; }
public virtual User creator { get; set; }
(...)
public virtual ICollection<Vote> votes { get; set; }
}
}
投票:
namespace Api.Models
{
public class Vote
{
public int id { get; set; }
public bool seen { get; set; } = false;
(...)
[JsonIgnore]
[IgnoreDataMember]
public virtual ICollection<Post> post { get; set; }
}
}
这已经在 SQL 数据库中生成了一个 VotePost 表,其中 Vote_id 和 Post_id 作为外键。
如果帖子有 0 票或看到所有票,我试图只获得与 p.creator.user_id 相关联的看到 == false 的投票。那我就不需要返回post元素了
帖子有多个投票对象,我不知道如何过滤掉所有投票。seen == false
IQueryable<Post> postQuery = (from p in db.Posts where
p.deleted == false &&
p.creator.user_id == user_id &&
// all p.votes object seen == false ?
select p);
提前感谢您的帮助
【问题讨论】:
标签: c# mysql sql entity-framework linq