Linq to sql LINQ搜索查询
下面的函数返回文件表中的所有行,即使应用了where筛选器Linq to sql LINQ搜索查询,linq-to-sql,Linq To Sql,下面的函数返回文件表中的所有行,即使应用了where筛选器 public IList<File> SearchFiles(int? FileID, int? type, int? Status) { var files = from fil in _context.Files select fil; if (FileID != null)
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>();
}
public IList search文件(int-FileID、int-type、int-Status)
{
var files=来自_context.files中的fil
选择fil;
if(FileID!=null)
{
其中(x=>x.FileID==FileID);
}
if(type!=null)
{
其中(x=>x.FileTypeID==type);
}
如果(状态!=null)
{
其中(x=>x.FileStatusID==Status);
}
返回files.ToList();
}
我在这里犯了什么错误
提前谢谢 您需要将Where back分配给IQueryable。。。。(即:files=files.where(
public IList search文件(int-FileID、int-type、int-Status)
{
var files=来自_context.files中的fil
选择fil;
if(FileID!=null)
{
files=files.Where(x=>x.FileID==FileID);
}
if(type!=null)
{
files=files.Where(x=>x.FileTypeID==type);
}
如果(状态!=null)
{
files=files.Where(x=>x.FileStatusID==Status);
}
返回files.ToList();
}
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>();
}