0

Car_Model、Car_Brand、Car_Type の 3 つのテーブルがあります。

Car_Model には、他の 2 つのテーブルへの 2 つの外部キーがあります。他の2つのテーブルの外部キーの代わりに、それらの値を使用して、グリッドビューに car_model のすべてを表示したいと考えています。

現在、私のDALには次の機能があります。

Private dc As New ModelDataContext

    Public Function selectAll() As List(Of Model)

        Dim result = From p In dc.Models
                     Join a In dc.Brands
                     On p.car_brand Equals a.Car_Brand_Id
                     Join t In dc.Types
                     On p.Car_type Equals t.Car_Type_id
                     Select p

        Return result.ToList
    End Function

そして、私のBLLで以下:

Public Function selectAll() As List(Of Model)

    Return DALm.selectAll

End Function
4

1 に答える 1

0

通常、リレーションは次のようにマッピングできます。

Class Model
    Public Property Brand As Car_Brand
    Public Property Type As Car_Type
    ...
End Class

しかし、それらを自分で取得したい場合は、次のような中間クラスを作成できます。

Class Car_ViewModel
    Public Property Car As Model
    Public Property Brand As Car_Brand
    Public Property Type As Car_Type
End Class

そして、クエリで:

Public Function selectAll() As List(Of Car_ViewModel)

    Dim result = From p In dc.Models
                 Join a In dc.Brands
                 On p.car_brand Equals a.Car_Brand_Id
                 Join t In dc.Types
                 On p.Car_type Equals t.Car_Type_id
                 Select New Car_ViewModel With { .Car = p, .Brand = a, .Type = t }

    Return result.ToList
End Function
于 2012-11-15T14:51:16.560 に答える