Entity FrameworkでJoinを使わずに内部結合する


RDBからデータ取得する時はテーブルの結合は必須です。
しかしながら、メソッド構文でJoin書くのってめんどくさい。
*テーブル構造はEntityFramework6で単純なデータ表示フォームを作成のを流用。

var result = entities.Models.Join(entities.Titles,                                //結合するEntityの指定
    model => model.ModelID, title => title.ModelID,                               //結合キーの指定
    (model, title) => new { model.ModelName, title.TitleName, title.RunningDate } //取得するデータの指定
    ).ToArray();

これをノータイムで読める人ってほとんどいないんじゃないですかね……。
おとなしくクエリ構文で書け?アーアーキコエナイ

外部キーをしっかりEntityクラスないしContextクラスで設定していればこんな書き方ができます。

var result = entities.Titles.Select(title => new { title.Model.ModelName, title.TitleName, title.RunningDate }).ToArray();

今回のは多→1の対応のものですが、SQLServerからの自動生成されたクラス見てる限り、逆方向(1→多)の対応のものも似たような感じで実現できそうな感じはします。