2013-08-01 63 views
0

我有一个父表和子表。这是一对多的关系。 我想确定一种方法来计算父子记录的数量,这些父记录在子项和父项上都有一个带有约束的子记录。实体框架计数具有约束子记录的父行

示例: 计算今天创建的父记录的数量,并在地址列中生成值为true in的子记录。

我完全难住了。

回答

2
(from p in context.Parents 
where p.CreatedOn.Date == DateTime.Now.Date 
&& p.Children.Any(c=>c.Address != null) // or p.Children.Any(c=>c.Address == true) 
select p).Count() 

可能是这样的吗?

您也可以从孩子们,例如:

(from c in context.Child 
where c.Address == true && c.Parent.CreatedOn.Date == DateTime.Now.Date 
select c.Parent).Distinct().Count() 

在lambda表达式,请注意,我只是用childObj.Address ==真(最有可能的情况是有点不同,但你应该看到这个想法

context.ARC_Records 
         .Where(d => (d.Signed == false || d.Signed == null) 
          && d.ChildObject.Any(c=>c.Address == true)) 
        .Count(); 
+0

我正在使用一种不同的查询方法,不知道它是什么方法。 d.signed == null)))。Count();不知道如何使用你发布的内容 –

+0

@SteveS也许发布一些代码,然后我们可以看到你如何t做到这一点,AD.Nets回答对我来说很不错 –

+0

我通常用EF查询的例子count = context.ARC_Records.Where(d =>((d.Signed == false)|| (d.Signed == null)))。Count(); –

相关问题