У меня есть этот (упрощенный для иллюстрации) объект, который представляет собой таблицу с полями (идентификатор, тип, бренд, модель, цена) из БД. Для типа, марки и модели сохраняются только те идентификаторы, которые связаны с базой данных типов, марок и моделей. С помощью нескольких соединений объекты загружают данные, а также получают для них свойства Name:
public class Car
{
public int TypeId;
public int BrandId;
public int ModelId;
public decimal Price;
public string TypeName;
public string BrandName;
public string ModelName;
}
На мой взгляд, это делает структуру объекта «грязной». Каков наилучший способ загрузить это в более структурированные объекты, например:
public class Car
{
public Definitions.CarTypes Type;
public Definitions.CarBrand Brand;
public Definitions.CarModel Model;
public decimal Price;
}
Меня беспокоит то, как данные будут заполняться внутри объекта, когда запрос возвращается из базы данных. Является ли использование конструктора (thisCar.Brand = new CarBrand(reader["id"],reader["name"]); для каждого поля хорошим способом сделать это?