1

実行時にデータベース エントリを使用してクラスを作成するにはどうすればよいですか?

例えば:

ID (整数) :

1

名前 (文字列) :

製品

コンテンツ (文字列) :

public class Product
{
    public string Name { get; set; }

    public string Family { get; set; }

    public int Age { get; set; }      
}

または別のパターン

動的ページジェネレーター用


アップデート :

より正確には、各テーブルのクラスではなく、データベースの各レコードのクラスが必要であり、このクラスにより、CRUD などの通常の SQL 命令を使用できるようになります。

4

3 に答える 3

2

コンパイル時にデータについてわからない場合、実行時にクラスを構築する意味はあまりありません - (gulp) DataTable(手を洗う) を使用することもできます。コンパイル時にクラスについて知っている場合は、(行ったように)クラスを作成し、「dapper」などのツールを使用するか、EF、NHibernate、LINQ-to-SQL などの ORM ツールを使用します。は、(設計時に) データベースから型を生成し、コードが型と対話できるようにします。

于 2012-05-02T07:17:36.683 に答える
2

データベース エントリに対してクラスを作成するのはなぜですか? Person などのクラスの各エントリに対してオブジェクトを作成するとします。各テーブルに対してクラスを作成し、データベース内のレコードのそれらのクラスに対してオブジェクトを作成することをお勧めします。ORM を探していると思います。Linq to SQLを確認してください。また、リフレクションを使用して実行時にコードを作成することもできますが、その必要性は本当にわかりません。

于 2012-05-02T07:17:54.983 に答える
1

実際には、クラスを動的に作成することはできません (作成できますが、これは巨大なアンチパターンであり、私が推奨するものではありません)。私の見方では、2 つのオプションがあります。

1) .Net 4 dynamic キーワードを使用します。

2) 型、識別子、およびシリアル化されたデータを保持するプロパティを含む「ジェネリック」クラスを作成します。

于 2012-05-02T07:13:37.563 に答える