Abhipal Singh
Общепринятая в отрасли практика написания кода в BAL заключается в том, чтобы иметь правильно определенные объекты из DAL. Позвольте мне объяснить вам вышеприведенный один лайнер на примере.
Допустим, вы возвращаете набор данных, имеющий datatable, содержащий записи автомобилей. Каждая запись представляет собой автомобиль с полями типа Model, BHP, Type.
Model | BHP | Type
Lexus | 250 | Sedan
Jaguar| 600 | Sedan
Toyota| 550 | SUV
Если вы проанализируете приведенные выше данные, то увидите, что каждая строка представляет собой объект, представляющий автомобиль. Таким образом, вы можете заставить класс сказать:
public class Car
{
public string Model { get; set;}
public int BHP { get; set; }
public string Type { get; set; }
}
Теперь вы можете заполнить каждую строку в вышеприведенный объект Car, а всю таблицу-в
IEnumerable<Car>
Следуя описанному выше подходу, вы можете работать исключительно с объектами и избегать использования наборов данных/таблиц данных в вашем BAL и других более высоких уровнях в N-уровневых приложениях.
Самый простой способ добиться описанного выше преобразования-создать объектный картограф в DAL, который преобразует ваш
DataTable
в
IEnumerable<Car>
объект и вернуть его в свой бал