我发现了这个问题,这个问题类似于我想解决的问题:
How to manage multiple tables with the same structure
然而,由于VB的可能性,该解决方案并不真正起作用。它特别不起作用,因为VB.NET要求显式声明接口中的每个方法/属性的实现。
至于我真正试图解决的问题,这里是:
有没有人有另一种解决方案可以在VB工作?
答案 0 :(得分:0)
通用存储库应该适用于这种情况。有许多可用的online或者你可以只为查找表编写一个更简单的。{/ p>
答案 1 :(得分:0)
以下是我们最终使用的代码:
Public Function GetDomainTableList(tableName As String) As IEnumerable(Of Object)
Dim table = CType(GetType(FECEntities).GetProperty(tableName).GetValue(DB, Nothing), IEnumerable(Of Object))
Dim dt = From r In table
Select r
Return dt.ToList()
End Function
我原本以为这对我们不起作用,因为我试图将每个对象投影到我写过的DomainTableItem
类中。但后来我意识到SelectList
构造函数并不真正关心它所接受的对象类型。你只需传入一个包含属性名称的String,它就会使用反射来提取值。
所以一切都按照这种方式运行,我避免为每个域/查找表编写一个方法。