・参考
複雑なクエリ演算子 - EF Core | Microsoft Docs
ViewModelの作成
ここで言うViewModelとはテーブル結合の結果表示用のモデルクラス。
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; } //外部キー
}
上記のBlogテーブルとPostテーブルの結合結果表示用のViewModel↓
2つのモデルクラスをがっちゃんこするだけ。
public class BlogPostViewModel
{
public int BlogId { get; set; }
public string Url { get; set; }
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
テーブル結合
var query = from blog in context.Set<Blog>()
join post in context.Set<Post>()
on blog.BlogId equals post.BlogId
select new BlogPostViewModel{ BlogId = blog.BlogId, Url = blog.Url, PostId = post.PostId, Title = post.Title, Content = post.Content };