gpt4 book ai didi

c# - LINQ 过滤包含的实体

转载 作者:行者123 更新时间:2023-11-30 22:29:28 25 4
gpt4 key购买 nike

我有这个LINQ

var userGroups = this.ObjectContext.UserGroups.Include("Users"); 

问题是如果“Users”在字段 IsActive 中处于事件状态,我必须过滤它。

因此,我需要按包含表“Users”的字段进行过滤,其中 IsActive

我如何使用 LINQ 做到这一点?

谢谢!

____________附:

我尝试执行以下操作,但我不确定...

 var userGroups = this.ObjectContext.UserGroups;

foreach (var userGroup in userGroups )
{
var ussers = this.ObjectContext.Users.Where(f => f.UserGroupID == item.ID && f.IsActive == true).ToList<User>();

userGroup.Users = users;
}

最佳答案

这是 linq-to-entities 吗?然后不可能对急切加载的包含实体进行任何类型的过滤。 Ladislav Mrnka 在他最新的 blog post 中写道.

当然可以使用 linq-to-objects 来处理加载到内存中的实体,但如果您只想要一部分可用实体,那将是低效的。

linq-to-objects 解决方案:

var userGroups = this.ObjectContext.UserGroups.Include("Users")
.Select(ug => new UserGroup {
Name = ug.Name,
// Copy all fields
Users = ug.Users.Where(u => u.Active)
});

关于c# - LINQ 过滤包含的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com