[英]Search by string method in ASP.NET Core Web API
我正在構建一個 ASP.NET Core 搜索 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 並返回結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.