このSQLクエリをエンティティフレームワーククエリに変換する方法を知りました。Entity Frameworkコア - IN節同等
SELECT *
FROM Post
WHERE PostId IN (
SELECT PostId FROM BlogPost
WHERE BlogId = &blogId);
特定のカテゴリIDを持つ投稿のリストを取得しようとしています。簡略化され
データベース:
ブログ(ポストのカテゴリ):
BlogId
Title
..
ポスト:
PostId
Title
..
ブログ投稿2つのテーブルを組み合わせて、あなたはポストごとに複数のカテゴリを持つせるため:
PostId
BlogId
これは私がすでに持っているものですが、ofcourseのクエリが動作していない:
public async Task<IActionResult> Category(int? id)
{
int blogId = id;
if (blogId == null)
{
return NotFound();
}
ICollection<Post> posts = await _context.Post.Where(pid => pid.PostId.Contains(_context.BlogPost.Where(i => i.PostId == blogId).ToListAsync())).ToListAsync();
if (posts == null)
{
return NotFound();
}
return View(posts);
}
は、事前にありがとうございます。
を見つけることができます。カテゴリに属する投稿のリストではなく、投稿が属するカテゴリを返そうとしています。 –
データベーステーブルの名前を変更して、わかりやすくしました。私はカテゴリに属する投稿のリストを取得しようとしています(ブログは投稿のカテゴリです) – QuanDar
ご清聴ありがとうございます。私はEntityFrameworkとLINQについて考えさせるためにたくさんの例を追加しました。うまくいけば、両方の技術に関するオンラインコースを勉強したり見たりすることをお勧めします。 –