Проблема с получением данных из базы данных c таблицами где одинаковые имена

У меня имеется база данных с множеством таблиц. Для выполнения одного запроса на получение данных я использую необработанный sql запрос с объединениями нескольких таблиц.

И проблема в том, что у некоторых таблиц есть поля с одинаковыми именами и без присвоения нового имени этим полям во время выполнения sql запроса, поведение маппинга не предсказуемо. То есть не понятно какому объекту присвоится поле из базы данных если имеется поле с таким же именем. Вот пример кода, который я использую на данный момент:

var response = await _db.rawQuery('''
        select Products.Id,
        Products.Name as ProductName,
        Products.Description,
        Products.Article,
        Products.Barcode,
        Products.Country,
        Prices.PriceValue,
        MainUnits.Name as MainUnitsName,
        StockBalances.Count,
        WareHouses.Name as WareHousesName,
        WareHouses.Address,
        WareHouses.Telephone,
        PriceTypes.Name as PriceTypesName
        from Products
        inner join Prices
        on Products.Id = Prices.ProductId
        inner join StockBalances
        on Products.Id = StockBalances.ProductId
        inner join WareHouses
        on StockBalances.WareHouseId = WareHouses.Id
        inner join PriceTypes
        on Prices.PriceTypeId = PriceTypes.Id
        inner join MainUnits
        on Prices.MainUnitId = MainUnits.Id
        where Prices.PriceTypeId = 1 and MainUnits.IsGeneral = 1
        '''
    );

Хотелось бы узнать более лучшие практики работы с sql, желательно с минимальным использованием чистого sql, а то мне кажется то как я это использую не совсем правильно и не удобно. Я надеялся для начала чтобы хоть как то сократить этот sql запрос использовать Select * from..., но это не возможно так как поля имеют одинаковые имена, и приходится задавать новое имя при помощи as.


Ответы (0 шт):