首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用.Net- thenInclude和实体框架核心和标识从核心获取特定列?

如何使用.Net- thenInclude和实体框架核心和标识从核心获取特定列?
EN

Stack Overflow用户
提问于 2019-04-30 15:37:55
回答 1查看 1.1K关注 0票数 1

我尝试这个查询已经有一段时间了,但是我似乎不能实现,问题是我不能只返回我想要的那些列

代码语言:javascript
运行
AI代码解释
复制
var thread = context.threads.Include(t => t.posts).ThenInclude(p => p.ApplicationUser).Include(t => t.ApplicationUser).Include(t => t.movie).Where(t => t.Id == id)

该查询返回ApplicationUser的所有信息,包括电子邮件和散列密码,当然我不希望我尝试这样做

代码语言:javascript
运行
AI代码解释
复制
var thread = context.threads.Include(t => t.posts).ThenInclude(p => p.ApplicationUser).Include(t => t.ApplicationUser).Include(t => t.movie).Where(t => t.Id == id).Select(t => new
            {
                title = t.title,
                body = t.body,
                threadUserName = t.ApplicationUser.UserName,
                postsThread = t.posts
            });

但是我遇到了一个障碍,当我必须查询帖子的UserName,所以数据从ThenInclude,尝试做一些像t.posts.ApplicationUser.UserName和类似的事情,但它不工作,我如何查询帖子的用户名?核心是从Identity net- ApplicationUser包中的IdentityUser类派生的类。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 06:12:01

为了查询postsThread,您可以添加一个新的Select,如下所示:

代码语言:javascript
运行
AI代码解释
复制
var thread = _appDbContext.Threads
                          .Include(t => t.Posts)
                          .ThenInclude(p => p.ApplicationUser)
                          .Include(t => t.ApplicationUser)
                          .Where(t => t.Id == id)
                          .Select(t => new
                                       {
                                            title = t.Title,
                                            body = t.Body,
                                            threadUserName = t.ApplicationUser.UserName,
                                            postsThread = t.Posts.Select(p => new {
                                                                                      p.Content,
                                                                                      p.ApplicationUser.UserName
                                                                                  })
                                       })
                          .ToList();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55924394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档