2010-12-21 72 views
1

我有這種情況,在我的模型中有以下實體。Linq返回子實體未在父實體中使用

public class Permission 
{ 
    public int ID { get; set; } 
    public Operation Operation { get; set; } 
} 

public class Operation 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

我的存儲庫的設置方式我需要查詢OperationRepository以查找所有那些未在權限中使用的操作。我的EF操作實體導航屬性返回權限爲低於EntityCollection:

public partial class Operation : EntityObject 
{ 
    public EntityCollection<Permission> Permissions 
    { 
     get; set; 
    } 
} 

我OperationRepository的方法是:

public IEnumerable<IOperation> FindUnassigned() 
{ 
    //query here 
} 

回答

2

過濾您Operations其中導航屬性`權限沒有按」噸有任何元素

.Where(p => p.Permissions.Count() == 0) 
+1

......哪個更好用'。凡達到(p =>!p.Permissions.Any())' – 2010-12-21 12:42:59

+0

我的天哪,我一個完整的福利局! :)謝謝傑夫。 – 2010-12-21 12:45:33

+0

沒問題 - 請參閱@ Michael對小優化的評論 – 2010-12-21 12:48:21