2010-12-21 70 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