在ASP中使用字符串方法进行搜索.. NET核心Web API



我正在构建一个ASP。. NET核心搜索Web API,它应该返回具有相同搜索QR码的视频列表(QR码是外键)。

这是视频模型:

public class Video
{
[Key]
public int VideoId { get; set; }
public string Exercice { get; set; }
public string Titre { get; set; }
public int Sexe { get; set; }
public int Categorie { get; set; }
public int Level { get; set; }
public string FilePath { get; set; } 
public DateTime DateUpload { get; set; } = DateTime.Now;
[ForeignKey ("Machine")]
public string Machine_Qr { get; set; }
public Machine machine { get; set; }
public Coache Coache { get; set; }
}

机器类:

public class Machine
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public string Machine_Qr { get; set; }
public string Machine_Name { get; set; }
public string ImagePath { get; set; }
public DateTime InsertedOn = DateTime.Now;
public List<Video> Videos { get; set; }
}

这是搜索控制器

[HttpGet("{Qr}")]
public async Task<IEnumerable<Video>> Search(string qr)
{
IEnumerable<Video> query = _context.videos.Where(e => e.Machine_Qr == qr);
if ((query != null))
return query;
else
return Enumerable.Empty<Video>().ToList();
}

我测试了一下,每次都得到一个空列表。

为了使用实体框架执行Linq to SQL,您需要像这样更新您的查询

[HttpGet("{Qr}")]
public async Task<IEnumerable<Video>> Search(string qr)
{
IEnumerable<Video> query = await _context.videos.Where(e => e.Machine_Qr == qr).ToListAsync();

return query;

}

通过添加。tolistasync(),它将执行查询转换为SQL并返回结果

相关内容

  • 没有找到相关文章

最新更新