LINQ поисковый запрос - PullRequest
       3

LINQ поисковый запрос

0 голосов
/ 03 июня 2011

Функция ниже возвращает все строки в таблице файлов, даже если фильтр where, если применяется,

 public IList<File> SearchFiles(int? FileID, int? type, int? Status)
        {

            var files = from fil in _context.Files
                             select fil;

            if (FileID != null)
            {
                files.Where(x => x.FileID == FileID);
            }

            if (type != null)
            {
                files.Where(x => x.FileTypeID == type);
            }

            if (Status != null)
            {
                files.Where(x => x.FileStatusID == Status);
            }

            return files.ToList<File>();
        }

Любая ошибка, которую я здесь делаю?

Заранее спасибо!

1 Ответ

2 голосов
/ 03 июня 2011

Вам необходимо присвоить Where обратно IQueryable .... (т.е. файлы = files.where (....

public IList<File> SearchFiles(int? FileID, int? type, int? Status)
    {

        var files = from fil in _context.Files
                         select fil;

        if (FileID != null)
        {
            files = files.Where(x => x.FileID == FileID);
        }

        if (type != null)
        {
            files = files.Where(x => x.FileTypeID == type);
        }

        if (Status != null)
        {
            files = files.Where(x => x.FileStatusID == Status);
        }

        return files.ToList<File>();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...