В настоящее время, если мы хотим получить список записей из базы данных, наш DAL возвращает DataTable нашему бизнес-уровню, который затем возвращает тот же DataTable нашему вызывающему интерфейсу (в данном случае странице asp.vb).
Однако я не думаю, что мы должны возвращать DataTable из BLL, я всегда думал, что было бы лучше возвращать строго типизированную коллекцию на основе полей в хранимой процедуре, например
public Class MyCustomType
public customerId as int32
public name as string
end Class
public function GetCustomers() as Generic.ICollection(Of MyCustomType)
//call to DAL here
end function
Будет ли лучший способ добиться этого - перебирать нашу DataTable, и для каждого DataRow создать новый объект MyCustomType и добавить его в коллекцию, а затем вернуть коллекцию?
Спасибо.