简体   繁体   English

C#实体框架-联接lambda查询后返回单个实体的列表

[英]C# Entity Framework - returning list of single entity after a join lambda query

I have two classes: 我有两节课:

public class classA
{
    public string keyA {get; set;}
    public string propAA {get; set;}    
    public string propAB {get; set;}
    public string propAC {get; set;}        
}

public class classB
{
    public string keyB {get; set;}
    public string foreignkeyA {get; set;}
    public string propBA {get; set;}    
    public string propBB {get; set;}
    public string propBC {get; set;}        
}

If I do a join between them.. 如果我加入他们之间。

var query = db.ClasseA.
            Join(db.ClasseB, a => a.keyA, b => b.foreignkeyA,
                (ca, cb) => new { ca, cb })
                .Where(q => q.cb.propBC == 'some value')
                .Select();

The result is a combination (list) of classA and classB objects. 结果是classAclassB对象的组合(列表)。

But, I need that the result is only a list of class A . 但是,我需要结果只是A类的列表。

Something like: 就像是:

List<classA> query = db.ClasseA.
            Join(db.ClasseB, a => a.keyA, b => b.foreignkeyA,
                (ca, cb) => new { ca, cb })
                .Where(q => q.cb.propBC == 'some value')
                .Select(????);

How can I do that?? 我怎样才能做到这一点??

One example 一个例子

var query = from obj1 in db.Object1
            join obj2 in db.Object2 on obj1.key equals obj2.somekey
            where obj1.something = "something"
            select obj1

This will join the two but only bring back obj1 items 这将加入两者,但只会带回obj1项目

reference: https://msdn.microsoft.com/en-us/library/bb311040.aspx 参考: https : //msdn.microsoft.com/en-us/library/bb311040.aspx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM