我想从表中获取选定列的数据,并在存储库类中返回该数据。但是我的查询没有返回任何数据。
我的代码是:
public IQueryable<BusinessProfile> GetBusinessProfileAddress()
{
var y = _db.Set<BusinessProfile>().Where(x => x.Deleted == false).Select(x => new
{
x.ID,
x.Address.StreetName,
x.Address.Number,
x.Address.Complement,
x.Address.PostalCode,
x.Address.Neighborhood,
x.Address.City,
x.Address.State
});
var d=from a in BusinessProfile select a.
return y; ;
}
注意:这里的“ return y”表示错误。
答案 0 :(得分:0)
该代码甚至不会生成,因为您尚未完成以下查询:var d=from a in BusinessProfile select a.
,但是,您根本没有使用d
变量,因此应删除整个{{1} }行。并且在var d=from a in BusinessProfile select a.
之后不需要2个分号。因此,您的代码应如下所示:
y
答案 1 :(得分:0)
对于您当前的代码,您会收到类似
的错误无法将类型'System.Linq.IQueryable <>'隐式转换为'System.Linq.IQueryable'。存在显式转换
如果要返回新类型,可以考虑定义新模型并更改BusinessProfile
。
public IQueryable<BusinessProfileVM> GetBusinessProfileAddress()
{
var y = _appDbContext.Set<BusinessProfile>().Where(x => x.Deleted == false).Select(x => new BusinessProfileVM
{
Id = x.Id,
StreetName = x.Address.StreetName,
});
return y;
}
public class BusinessProfileVM
{
public int Id { get; set; }
public string StreetName { get; set; }
}