从表中获取选定列的列表数据

时间:2019-04-26 14:20:58

标签: asp.net-core-mvc entity-framework-core

我想从表中获取选定列的数据,并在存储库类中返回该数据。但是我的查询没有返回任何数据。

我的代码是:

 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”表示错误。

2 个答案:

答案 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; }

}