2009-05-29 8 views
2

私はSQLデータベースを持っており、各テーブルのクラスを作成したいと思います。私は、SQLデータベースから情報を抽出し、それを "DataTable"や "DataRow"のようなクラスに変換するツールが存在すると思います。その後、これらのオブジェクトをデータセットに使用できます。どのようにSQL ServerスキーマからC#でクラスを生成しますか?

+0

使用しているVisual StudioとSQL Serverのバージョンについて質問を編集してください。また、VS(Express、Professional、Team?)のどのエディション –

答えて

3

データテーブルとデータセットの代わりに、独自のオブジェクトを使用してアプリケーション内のデータを表現し、いくつかの永続フレームワークとORマッパー(オブジェクトリレーショナルマッパー)を使用することができます。たとえば、 "Linq to Sql "、" Microsoft Entityフレームワーク "、またはNHibernate。

これらのフレームワークのコードを生成できるコード生成ツールがいくつかあります。

私が知っている2つのMyGenerationとCodeSmith。

+0

私はLINQと一緒に行かなければなりません。 –

0

どのように古き良きLINQのでしょうか?開始here

1

このようなことをするツールが世界中にあります。それはORMと呼ばれています。ジョシュは素晴らしいフリーツールであるサブソニックについて言及しました。また、Visual Studio 2008 SP1の一部であるEntity Frameworkもあります。さらに優れたツールをご希望の場合は、LLBLGenを使用することをお勧めします。

希望すると便利です。

0

私たちはEntity Frameworkの方向に向かっていますが、EFの準備ができていないため、Linq2Sqlは多かれ少なかれ貧乏人/趣味のORMツールです。現在、カスタム自家製フレームワーク(The Kinetic Framework)とFluent NHibernateの組み合わせを使用しています。

0

MS Sql Server 2005/2008を使用していて、テーブル/ストアドプロシージャオブジェクトから情報を引き出す場合は、独自のコードジェネレータを記述したい場合は、SMOオブジェクトを使用することをお勧めします。

1

私は、あなたの* .sqlファイル(SSDTプロジェクトのような)を解析し、T4テンプレートを使用して設計時にDTOオブジェクトとストアドプロシージャラッパーを作成する軽量ツールであるSqlSharpenerの作成者です。

関連する問題