1

データテーブルからカスタム .NET オブジェクトにデータをマップしたいと考えています。たとえば、.NET オブジェクトがあるとします。

Public Class MyClass
    Public ID
    Public Prop1
    Public Prop2
End Class

データベース内の対応するテーブルには、列 ID、Prop1、および Prop2 が含まれています。

データベースから .NET オブジェクトのリストを生成したいと考えています。現在、データセットに入力し、各プロパティを個別にマップしています。データベースを自動的にマップする方法はありますか?プロパティはプロパティ/列名に従ってマップされます。

'retreive dataset from db'
DaAdapter.Fill(ds)

'create a new list of my object'
Private l As New List(Of MyClass)

'iterate through dataset (this is the step I want to get rid of - of course'
'it could only work if the property of the MyClass and the column in '
'the database have the same name)'
For Each r As DataRow in ds.Tables(0).Rows
    Dim itm As New MyClass
    itm.ID = r("ID")
    itm.Prop1 = r("Prop1")
    itm.Prop2 = r("Prop2")
    l.Add(itm)
Next
4

4 に答える 4

1

私見では。最も簡単な方法は、Linq2Sqlを使用することです

于 2012-05-16T12:24:39.003 に答える
1

直接的な方法はありませんが、エンティティ クラスと呼ばれるデータベース テーブルによく似たクラスを作成するためのツールが多数用意されています。詳細については、次のリンクを参照してください

C# エンティティ クラスへのデータベース テーブル - FluentNHibernate のジェネレーター?

コードスミス ツールの typeddataset も使用できます。

于 2012-05-16T12:27:35.623 に答える
1

ある種のオブジェクト リレーショナル マッピング (ORM) フレームワークを使用できます。Entity Frameworkはその 1 つです。

于 2012-05-16T12:22:41.720 に答える
0

エンティティフレームワークをお勧めします

database firstデータベースをポイントするだけで、エンティティと関連付けが作成されるというアプローチを使用できます。

それは本当にまっすぐです、私はそれを試してみることをお勧めします

于 2012-05-16T12:30:15.137 に答える