我的实体框架查询没有返回任何值。我想通过实体框架复制这个查询:SELECT name FROM guitarBrands WHERE image = image。所以我最终在下面尝试了这段代码。
public static string GetBrandByImage(string imageType)
{
BrandsDBEntities obj = new BrandsDBEntities();
string name = (from g in obj.guitarBrands where g.image == imageType select g.name).ToString();
return name;
}
我真的很擅长使用实体框架,我真的希望你们能为此提供解决方案。
答案 0 :(得分:2)
(from g in obj.guitarBrands where g.image == imageType select g.name)
返回类似SQL查询的列表
获取第一个元素
(from g in obj.guitarBrands where g.image == imageType select g.name).First().Tostring();
或同等的
obj.guitarBrands.Where(g => g.image == imageType).First().name;
答案 1 :(得分:1)
您在查询本身上调用ToString
。查询需要首先枚举
public static string GetBrandByImage(string imageType) {
using(var obj = new BrandsDBEntities()) {
var name = (from g in obj.guitarBrands
where g.image == imageType
select g.name).FirstOrDefault();
return name;
}
}
在查询中使用FirstOrDefault
将返回与谓词匹配的任何吉他品牌的第一个name
,如果找不到匹配则返回null
。