Проблема с получением данных из базы данных 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.