0
我在我的倉庫下面的代碼:EF代碼優先選擇基於許多行一對多的關係
public PagedResult<Post> GetAllPublishedByTag(int tagId, int start, int max)
{
var query = Database.Set<Post>().Where(p => p.IsPublished)
.OrderByDescending(p => p.CreatedAt)
.Skip(start)
.Take(max);
int total = query.Count();
var result = query.ToList();
return new PagedResult<Post>(result, total);
}
這會給我發佈的所有職位。但我想要的是爲某個標籤選擇所有發佈的帖子。我的模型的設置方式是標籤與帖子之間有多對多的關係。我想稍微修改上面的代碼,但是這並不工作:
public PagedResult<Post> GetAllPublishedByTag(Tag tag, int start, int max)
{
var query = Database.Set<Post>().Where(p => p.Tags.Contains(tag) && p.IsPublished)
.OrderByDescending(p => p.CreatedAt)
.Skip(start)
.Take(max);
int total = query.Count();
var result = query.ToList();
return new PagedResult<Post>(result, total);
}
我寧願在標籤識別通過(按第一個代碼示例),而不是標籤對象,但不知道如何正確地寫LINQ聲明。