我在同一问题上发现了许多其他问题,但找不到任何解决方法
这是我的处理程序函数,用于在数据库中搜索美食
public Cuisine GetCuisines(string cuisine)
{
using (ResturantContext context = new ResturantContext())
{
// db.Cuisines.Where(x => x.Name.Contains(Cuisine))
return (from m in context.Cuisines
.Include("Images")
.Include("Category")
where m.Name == cuisine
select m).ToList();
}
}
在这里我找不到什么问题
答案 0 :(得分:4)
ToList()
创建一个List<Cuisines>
,但是您的方法返回一个Cuisine
。
您应该将方法的返回类型更改为List<Cuisines>
:
public List<Cuisine> GetCuisines(string cuisine)
...或调用FirstOrDefault()
而不是ToList()
仅选择一个Cuisines
:
using (ResturantContext context = new ResturantContext())
{
return (from m in context.Cuisines
.Include("Images")
.Include("Category")
where m.Name == cuisine
select m).FirstOrDefault();
}
如果未找到匹配的FirstOrDefault()
, null
将返回Cuisines
。 Single()
将引发异常。
答案 1 :(得分:2)
您应该使用返回类型List<Cuisine>
而不是Cuisine
:
public List<Cuisine> GetCuisines(string cuisine)
答案 2 :(得分:1)
使用FirstOrDefault获得一项
public Cuisine GetCuisines(string cuisine)
{
using (ResturantContext context = new ResturantContext())
{
// db.Cuisines.Where(x => x.Name.Contains(Cuisine))
return (from m in context.Cuisines
.Include("Images")
.Include("Category")
where m.Name == cuisine
select m).FirstOrDefault();
}
}