私がここで尋ねた質問のコードを見てください: Data Access Layer returns DataTable。
永続エンティティを表すデータ転送オブジェクトがあります。たとえば、データベースに Customer というテーブルと Order というテーブルがあるとします。
CREATE TABLE Customer (ID int, Name VARCHAR(100), Primary Key (ID)) CREATE TABLE Order (ID int, Name VARCHAR(100), Primary Key (ID))
データベースから顧客にリンクされたすべての注文を取得したいとします。2 つのオプションが表示されます。
1) 次のように Customers と Orders を組み合わせた型を用意します (Order 配列に注目してください)。
Public Class CustomerOrder
Private _CustomerID As Integer
Private _Name As String
Private _OrderID() As Integer
Public Property CustomerID() As Integer
Get
Return _CustomerID
End Get
Set(ByVal value As Integer)
_CustomerID = value
End Set
End Property
Public Property Name() As Integer
Get
Return _Name
End Get
Set(ByVal value As Integer)
_Name = value
End Set
End Property
Public Property OrderID() As Integer()
Get
Return _OrderID
End Get
Set(ByVal value As Integer())
_OrderID = value
End Set
End Property
End Class
2) 1 つの顧客オブジェクトと注文オブジェクトのリストを返します。顧客と注文には独自のタイプがあります。
オプション 1 の方が優れていると思いますが、型が 1 つのデータベース テーブルのみを対象とすべきかどうか迷っています。