在ASP.NET Web API中搜索多个表格,可以使用LINQ查询来实现。以下是一个示例代码:
public class SearchController : ApiController
{
public IHttpActionResult Get(string keyword)
{
using (var context = new ApplicationDbContext())
{
var results = from p in context.Products
join c in context.Categories on p.CategoryId equals c.Id
join s in context.Suppliers on p.SupplierId equals s.Id
where p.Name.Contains(keyword)
|| c.Name.Contains(keyword)
|| s.Name.Contains(keyword)
select new
{
ProductName = p.Name,
CategoryName = c.Name,
SupplierName = s.Name
};
return Ok(results.ToList());
}
}
}
在上述代码中,我们使用LINQ查询来搜索包含关键字的产品名称、类别名称和供应商名称。通过使用join
操作符,我们可以在多个表格之间建立关联,并根据条件过滤结果。最后,我们将搜索结果封装为一个匿名类型,并通过Ok
方法返回给客户端。
请注意,上述代码是一个简单示例,仅涉及三个表格的搜索。实际应用中,您可能需要根据具体需求进行调整和扩展。