多くの人が言ったように、注文は結果やパフォーマンスに違いはありません。
私が指摘したいのは、LINQ to SQLは、最初のケースのみを許可します。!
例えば、次の例は、うまく機能...
var result = from a in db.a
join b in db.b on a.StatusID equals b.ID
select new { Name = a.Name, Status = b.Status }
...これは、Visual Studioでエラーがスローされながら:
これらのコンパイラエラースロー
var result = from a in db.a
join b in db.b on b.ID equals a.StatusID
select new { Name = a.Name, Status = b.Status }
:
- CS1937:名 '名前' 'をの左側の範囲ではありませんと等しい。 'equals'のどちらかの側で式を交換することを検討してください。
- CS1938:名前 'name'は、 'equals'の右側にはありません。 'equals'のどちらかの側で式を交換することを検討してください。
標準SQLのコーディングとは関係ありませんが、どちらか一方に慣れているときには、これは考慮すべき点です。
+1 –
公式のTODO http://wiki.postgresql.org/wiki/Todo#Features_We_Do_Not_Wantにある "PostgreSQLの人、ごめんなさい" - "オプティマイザのヒント"について。 –
@Milen:もう一度申し訳ありません:) – Quassnoi