2013-08-01 60 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(); –

相關問題