小编Ale*_*lex的帖子

LINQ:如何使用 IQueryable() 选择特定列

我只需要从 Hospital 表中选择两列,HospitalId 和 Name。我尝试了下面的代码,它从 Hospital 表中选择了所有列,这导致了性能下降。请帮我从 Hospital 表中只选择两列

public HttpResponseMessage GetAvailableHospitalsByAjax(System.Guid? DirectorateOfHealthID = null, System.Guid? UnitTypeID = null, string DeviceTypeIDs = null)
{
    Context db = new Context();
    var query = db.Hospitals.AsQueryable();
    if (UnitTypeID != null)
    {
        query = query.Where(j => j.HospitalDepartments.Any(www => www.Units.Any(u => u.UnitTypeID == UnitTypeID)));
    }

    if (DirectorateOfHealthID != null)
    {
        query = query.Where(h => h.DirectorateHealthID == DirectorateOfHealthID);
    }


    query = query.Where(j => j.HospitalDepartments.Any(u => u.Units.Any(d => d.Devices.Any(s => s.Status == Enums.DeviceStatus.Free)))
    && j.HospitalDepartments.Any(hd => hd.Units.Any(u …
Run Code Online (Sandbox Code Playgroud)

c# linq sql-server entity-framework

6
推荐指数
1
解决办法
6967
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

sql-server ×1