C#でデータベースをお手軽に扱うには、どのような手段があるのでしょうか?

ざっと検索するとXXX.NetとかLINQ for YYYとか、似たような名称の技術が転がっていて、混乱しています。

RubyのSequel、もしくはActiveRecordぐらい簡単に、
テーブルをクラスに結びつけられるのが理想です。

データベース自体は、サイズが数十GBと巨大になる意外は、
単一のファイルを扱う感じで操作できればいいのでSQLiteを使います。
(MSDE, SQL Server Express Editionなどは最大サイズが
制限されているため今回は利用しません)

Visual Studio 2008 Standard Editionが手元にあるので、
IDEの力を借りることができます。SQL Serverを例にして、
O/Rマッパに相当するものを自動生成するサイトはいくつか見つかるのですが、
SQLiteでどうやるのかさっぱりです。

遠回りでもこの本読んどけとか、
このキーワードで検索すれとか、アドバイスお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2009/11/17 08:20:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:freemann No.1

回答回数335ベストアンサー獲得回数55

ポイント35pt

分厚いですがADO.NETについて詳しく書かれています。

プログラミングMicrosoft ADO.NET2.0 (マイクロソフト公式解説書)

プログラミングMicrosoft ADO.NET2.0 (マイクロソフト公式解説書)

  • 作者: デビッド セッパ
  • 出版社/メーカー: 日経BPソフトプレス
  • メディア: 単行本

「SQLite ADO.NET」で検索より。

http://mitc.xrea.jp/diary/046

http://download.microsoft.com/download/7/1/3/7138629A-8630-4027-...

この辺りが詳しいのではないでしょうか。

id:wataradio

ADO.NET、よく耳にしますね。

ADO.NET Entity Frameworkとかも最近目にしますね。

あと、LINQ to SQLとか、LINQ to Entitiesとか。

なにがなにやら。

RubyのActiveRecordのようなことをやりたい場合、

これらを組み合わせて実現するというイメージ?

2009/11/10 14:19:40
id:freemann No.2

回答回数335ベストアンサー獲得回数55

ポイント35pt

Rubyについて知識が無いもので少し調べてみました。

コードを見た感じでは、簡単さではLINQが近いのかなって思ったりします。

ただ、RubyのActiveRecordは接続型なのかなと思ったのですが、

ADO.NETは多くの場面で非接続型ですので、そういった点で違いがあるのかなと思いました。

あと、ActiveRecordでは、O/Rマッピングが実行時に行われるのかなと思ったのですが、

.NETでは、開発段階でIDEの力を借りて行う点も違うのかなと感じました。


http://msdn.microsoft.com/ja-jp/library/bb386944.aspx

http://ufcpp.net/study/csharp/sp3_linqtosql.html

id:wataradio

回答ありがとうございます。

>.NETでは、開発段階でIDEの力を借りて行う点も違うのかなと感じました。

そのようですね。事前準備の複雑さに面くらっています。

調べてみると、どうもADO.NET Entity Frameworkというのと、

LINQ to Entityというのがやりたいことに近いようです。

ただ、つい最近できた技術みたいで、本にはまとまっていないようです。

地道にググりながらやっていきたいと思います。

2009/11/10 20:12:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません