Deduplicate facts row mapping

This commit is contained in:
ajp_anton
2026-07-15 22:51:38 +00:00
parent 8211d988a3
commit bc9d5377c3
@@ -230,22 +230,7 @@ FROM facts
WHERE item_id = $item_id;";
cmd.Parameters.AddWithValue("$item_id", itemId);
using var reader = cmd.ExecuteReader();
return reader.Read()
? new FactsData(
reader.GetString(0),
reader.GetString(1),
reader.GetString(2),
reader.GetString(3),
reader.GetString(4),
reader.GetString(5),
reader.GetString(6),
reader.GetString(7),
reader.GetString(8),
reader.GetString(9),
reader.GetString(10),
reader.GetInt64(11),
reader.GetInt64(12))
: null;
return reader.Read() ? ReadFacts(reader) : null;
}
public Dictionary<string, FactsData> GetFactsForItems(IEnumerable<string> itemIds)
@@ -268,7 +253,15 @@ WHERE item_id IN ({idParams});";
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
var facts = new FactsData(
var facts = ReadFacts(reader);
result[facts.ItemId] = facts;
}
return result;
}
private static FactsData ReadFacts(SqliteDataReader reader)
=> new(
reader.GetString(0),
reader.GetString(1),
reader.GetString(2),
@@ -282,11 +275,6 @@ WHERE item_id IN ({idParams});";
reader.GetString(10),
reader.GetInt64(11),
reader.GetInt64(12));
result[facts.ItemId] = facts;
}
return result;
}
public object[] GetTranslationsForDebug(string itemId)
{