Почему я не могу получить этот код с помощью Linq в моем приложении asp.net mvc? - PullRequest
0 голосов
/ 20 апреля 2011

У меня есть этот код, чтобы получить все мои baobjectCode из базы данных.

    var maxCode = variables.Where(w => w.code.StartsWith(prefix) && w.code.Length == length)
        .OrderByDescending(o => o.code).Select(s => s.code).FirstOrDefault();
}

Я получаю ошибку сборки в этом запросе maxcode.

Ошибка 8 «строка» несодержит определение для «кода» и не найден метод расширения «код», принимающий первый аргумент типа «строка» (вам не хватает директивы using или ссылки на сборку?)
Кто-нибудь может мне помочь, почему яполучить эту ошибку?Здесь я что-то не так делаю?

Ответы [ 2 ]

2 голосов
/ 20 апреля 2011

Вы выбираете список BaObject.BaObjectCode в своем первом утверждении, поэтому variables - это тип строки

.Select(w => w.BaObjectCode).ToList();

, который вы должны сделать

 var maxCode = variables.Where(w => w.StartsWith(prefix) && w.Length == length)
    .OrderByDescending(o => o).FirstOrDefault();

в последнем утверждении.Выбрать вообще не нужно, его можно удалить

1 голос
/ 20 апреля 2011

Добавить

.OrderByDescending()

перед .ToList () в первой строке, затем заменить последнюю строку на:

var maxCode = variables.FirstOrDefault(w => w.StartsWith(prefix) && w.Length == length);

Это должно заставить его работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...