不存在的MVC ViewModels查询

斯蒂芬妮

我一直在搜索,无法找出如何将不存在的sql查询转换为我的mvc查询。我以为我必须使用.Any或.Contains,但它们似乎没有用。现在,我的viewmodel查询看起来像这样:

viewModel.Accesses = db.Accesses
                 .Include(x => x.User)
                .Where(x => x.User.Uploaded == "NO").ToList();

我为此使用了两个表。用户表和访问表。用户表具有用户名,第一个,最后一个等。访问表具有用户名,节,用户组(管理员,常规等)等。这种关系是一对多的,例如,可以将1个用户分配给许多不同的用户组,但是每个部分只有1个用户组。Access表的键是UserName和Section。

但是,将它们加载到系统后,由于尚未分配每个节的UserGroup,因此它们的UserGroup设置为Null。

我要查询的是在任何UserGroup字段中都没有NULL值的所有UserName(已为每个部分分配了所有UserGroup)。

克雷格W.

您需要使用All运算符来确保集合中的每个成员都具有相同的值。我认为以下内容将满足您的需求。

db.User
    .Where(u => u.Accesses.All(a => a.UserGroup != null))
    .Select(u => u.UserName)

在您的问题中,您说您只需要UserNames,所以我将返回值限制为该值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章