Something like this should work:
Public Overridable Sub ReadRecordFromDb(Of T As Class)(ByVal ID As Integer)
...
Dim pk As String = dataMembers.Single(Function (m) m.IsPrimaryKey).Name
Dim tbl As T = table.SingleOrDefault(Function (t2)
Dim memberId As String = t2.GetType().GetProperty(pk).GetValue(t, Nothing).ToString()
Return memberId == ID.ToString()
End Function)
...
End Sub