当我使用带有 SQL Server/T-SQL 的 VB.NET 设计我的系统时,我总是对在我看来明显的差距感到震惊,即 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
目前取决于两个领域。也许有一天这会改变,更多的领域或条件可能会发挥作用。这就是使用属性的全部原因。
现在,如果我出于某种原因在 SQL 中需要我的属性的等价物,除了使用两个 Knows... 列重新编码一些 SELECT 语句之外,别无他法。
有没有人找到一个干净的方法来处理这个?