Вернуть запись с максимальным значением, сохраненным в виде строки, используя Linq to SQL - PullRequest
0 голосов
/ 08 июля 2011

Я получаю записи, которые содержат информацию о версиях документа.Номер версии документа сохраняется в виде строки.Формат состоит из 8 цифр, за которыми следует точка, за которой следуют четыре цифры (регулярное выражение ^ / d {8} ./ d {4} $).Числа хранятся в виде текста.

В моем хранилище данных есть две функции.Один называется GetAllVersions, который возвращает все записи в базе данных версий, а другой - GetLatestVersion, который должен возвращать запись с максимальным номером версии.

Мой код выглядит следующим образом:

public IQueryable<MyProject.Models.Version> GetAllVersions()
{
    var versions = from v in _datacontext.Versions
                   select v;
    return versions;
}
public MyProject.Models.Version GetLatestVersion()
{
    var dataset = GetAllVersions()
                 .Where(x => x.VersionNumber.ToString() == x.VersionNumber.ToString().Max());
    return dataset;
}

GetAllVersions работает, но я не могу получить синтаксис Linq to SQL для возврата записи с максимальным номером версии.Есть ли способ сделать это в Linq to SQL?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 08 июля 2011
GetAllVersions().OrderByDescending(x=>x.VersionNumber).First();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...