Я пытаюсь выяснить способ использования linq для получения последних записей из базы данных. Все поля в таблице - varchar2.Как получить уникальные записи, используя LINQ, когда столбцы все varchar
Например, у меня есть таблица:
CODE VERSION FIELD1 FIELD2 ...
AAA 0.0.1 data1 data2
BBB 0.0.2 data22 xxxxx
AAA 0.0.2 xxcxcx asdasdas
AAA 0.0.3 data11 data5555
BBB 0.0.2 dasds aasdasd
Я хотел бы только, чтобы вернуться.
AAA 0.0.3 data11 data5555
BBB 0.0.2 dasds aasdasd
Я мог бы привести все данные обратно упорядочение по CODE/VERSION возьмите верхнюю 1 для каждого уникального кода. Однако похоже, что я добавляю накладные расходы. Есть ли более простой способ сделать это?
EDIT: Я использую Oracle 11g. Я не контролирую текущую БД, поля - это то, что они есть. Я пытаюсь LINQ-сущности, а код и версия - это ключи к таблице.
Linq-To-What, f.e. Linq-To-Сущности? Каков ключ, 'CODE' или несколько столбцов? ** Изменить **, поскольку кажется, что оракул я думаю, что вы используете 'Linq-To-Entities' –
Кроме того, поскольку столбец' VERSION' имеет решающее значение для заказа, вы должны реорганизовать свою модель. Создайте 'MajorVersion',' MinorVersion', 'Revision' int-columns и упорядочение прост. –
Заказ по версии будет проблемой, если вы можете иметь значения, такие как 0.0.10, как это было бы раньше 0.0.2 лексически. Лучшим решением было бы разделить части версии на отдельные столбцы, если это возможно. В противном случае вы смотрите на то, чтобы вытащить все данные обратно и сделать это в коде или очень неэффективном SQL-запросе. – juharr