gpt4 book ai didi

asp.net-mvc - 如何在 LINQ 中查询列表

转载 作者:行者123 更新时间:2023-12-01 04:05:03 29 4
gpt4 key购买 nike

我的数据库中有 2 个表,其中一个用于 项目成员和项目成员之一
对用户进行身份验证后,我就有了他的 ID。在我的项目成员表中,我有项目 ID 和用户 ID。
我可以使用此用户获取项目成员列表

 var pm = db.ProjectMembers.Where(c=> c.UserID=u.UserID) ;

现在我的问题是如何从上述列表中获取 ProjectID 列表。然后如何使用 ProjectID 列表从 Project 表中获取项目列表。

最佳答案

您问题的第一部分:

var projectIDs = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.ProjectID) ;

第二部分:

如果您使用的是 Entity Framework ,您应该看到 ProjectMembers 列表中的每个实体都有一个名为 (project) 的属性,您可以简单地忽略我这个答案的第一部分并直接使用这个
var projectsList = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.Project) ;

该属性可能有不同的名称,试一试并告诉我发生了什么。

注:如果检索到的项目为空,那么您的 Entity Framework 正在使用 Eager 加载(谷歌它)。
因此,为了让 Entity Framework 生成正确的 SQL 语法来检索项目数据,请将 Include() 添加到您的查询中,如下所示:
var projectsList = db.ProjectMembers.Where(c=> c.UserID=u.UserID).Include("Projects").select(pm=>pm.Project) ;

关于asp.net-mvc - 如何在 LINQ 中查询列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028466/

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