VB.NET と SQL Server/T-SQL を使用してシステムを設計していると、VB クラス プロパティと呼ばれる明らかなギャップにいつも驚かされます。
列を持つテーブル Employee があるとします。
First varchar
Last varchar
KnowsSPANISH bit
KnowsGERMAN bit
VBでは、次のようなクラスがあるかもしれません:
Class Employee
Public First as string
Public Last as string
Public KnowsSPANISH as boolean
Public KnowsGERMAN as boolean
Public Readonly Property SpeaksAForeignLanguage
Get
If KnowsSPANISH or KnowsGERMAN return True else return False
End Get
End Property
End Class
したがって、私のプロパティSpeaksAForeignLanguage
は現在 2 つのフィールドに依存しています。おそらくいつかこれが変わり、より多くの分野や条件が登場するかもしれません。これが、プロパティを使用するすべての理由です。
なんらかの理由で SQL で自分のプロパティに相当するものが必要になった場合、2 つの Knows... 列を使用して SELECT ステートメントを再コーディングする以外に方法はありません。
誰かがこれに対処するためのきれいな方法を見つけましたか?