BPStudy#17

相変わらずクオリティ高い。
BPStudy - connpass

DjangoORM

MC:IanLewis
Models and databases | Django documentation | Django
PythondjangoフレームワークのORM。
ActiveRecordパターン。Modelとテーブルが1:1対応。ManagerでDBにアクセス。
1:mのアクセスはプロパティから参照できる(逆参照も可能)。m:mは中間テーブルを自動で作ってくれて参照も作ってくれる。
filter連鎖でwhereなどの条件指定可能。

SQLAlchemy

MC:shin_no_suke
SQLAlchemy - The Database Toolkit for Python
PythonのORM。
Datamapperパターン。Modelとテーブルのカラムのマッピングを定義する必要がある。
自由なマッピングが可能なため、Modelとテーブルが1:1である必要もない。複数のDBエンジンのテーブルをマッピングしたりすることもできる。
Elixirなどを使えばActiveRecordな使い方も可能。
拡張が容易にできるよう設計されている。複雑なDB構造を扱うときには強力。

LINQ

MC:id:moriyoshi
LINQ: .NET 統合言語クエリ
MSのあれ。C#など.NET環境で使える。
LINQ to XML/LINQ to SQL/LINQ to Entities...などいろいろある。
LINQ to SQLはいわゆるgeekLINQ to Entitiesはいわゆるスーツ(ry
LINQ to SQLは事実上サポート停止?
LINQ to EntitiesはADO.NET上のいくつかのレイヤーの上に構築されている。結構複雑。
LINQを提供するにはIQuerableやらIQueryProviderやらを実装しなければならないけど大変だとか。