猿问

C# - EF Lambda Include 用于选择 2 个类并从第二个类中排除属性

我正在尝试找到一个解决方案,如何避免从我的其他类中选择其他属性。


假设我有 2 个类,名称分别为 Class1 和 Class2,并且我只想在 Class2 中选择 Name1。


// My Models

public class Class1 {

    public int Class1Id {get;set;}

    public string Gender {get;set;}

    public ICollection<Class2> Class2 {get;set;}

}


public class Class2{

    public int Class2Id {get;set;}

    public string Name1 {get;set;}

    public string Name2 {get;set;}

    public string Name3 {get;set;}

    public string Name4 {get;set;}

    public string Name5 {get;set;}

    public string Name6 {get;set;}


    public int Class1Id {get;set;}

    public Class1 Class1 {get;set;}

}

我有一个方法可以获取 Class1 中的所有记录


public IQueryable<Class1> AllClass1(){

     return context.Class1.Include(c=>c.Class2);

}

这会起作用,但问题是,我只想选择 Class2.Name1。因为在 Include 中,它从 Class2 中选择其他属性。不仅是 Name1,还有 Name2-Name6。


这是出于性能角度和数据获取速度的考虑。


既然,我不需要 Name2-Name6,我为什么还要选择获取它们呢?


慕神8447489
浏览 366回答 1
1回答
随时随地看视频慕课网APP
我要回答