Linq两个类用外键

时间:2017-04-06 13:16:25

标签: c#

我有这两个表

class A
{
    int IdA;
    String DescA;
}

class B
{
    int IdB;
    String DescB;
    int IdA;
}

IdA in" B"是A类的外键,我有一个函数返回一个" A" getListA()并且通过此功能,我必须计算有多少" B"那个DescB空了,这就是我所做的:

var emptyDescB = getListA().Where(p => p.B.All(k => k.DescB != 0)).count();

但这不应该如何应用:/。任何想法我可以算一下我有多少空的DescB?

1 个答案:

答案 0 :(得分:0)

您提供的C#类和linq查询作为示例不匹配,因此这个答案有点假设。

以下课程在AB之间建立了一对多的关系;即每个A实例可以有多个B个实例。

public class A
{
    public int Id { get; set; }
    public string Description { get; set; }

    public virtual ICollection<B> Children { get; set; }
}

public class B
{
    public int Id { get; set; }
    public string Description { get; set; }

    public int ParentId { get; set; }
    public virtual A Parent { get; set; }
}

..然后给出函数getListA(),它返回A的实例列表,你可以找到B的实例数Description var numberOfBWithEmptyDescriptions = getListA() .SelectMany(a => a.Children) // .. ignore the 'A' instances, just access their children, the instances of B .Count (b => string.IsNullOrEmpty(b.Description)); // .. count the intances of B with an empty description 是空的&#34;用:

query