Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法只为某些列加载ApplicationUser?_C#_Entity Framework_Asp.net Core - Fatal编程技术网

C# 有没有办法只为某些列加载ApplicationUser?

C# 有没有办法只为某些列加载ApplicationUser?,c#,entity-framework,asp.net-core,C#,Entity Framework,Asp.net Core,我有一个与ApplicationUser模型相关的Post模型类。当我在这里加载ApplicationUser所有数据时,从controller开始。我不想加载用户密码。我只想加载用户的某些列数据 模型类: public class Post { public int PostId { get; set; } public string PostContent { get; set; } public string ClientId { get; set;

我有一个与ApplicationUser模型相关的Post模型类。当我在这里加载ApplicationUser所有数据时,从controller开始。我不想加载用户密码。我只想加载用户的某些列数据

模型类:

public class Post
{
    public int PostId { get; set; }        
    public string PostContent { get; set; }
    public string ClientId { get; set; }
    public ApplicationUser Client { get; set; }      
}
控制器:

var Post = await _context.Post.Include(x=>x.Client).ToListAsync();
注意:我使用了.Net核心标识


感谢阅读。

我不相信您只能选择
.Client
的某些属性。但是,您可以使用dto:

 var PostDto = await _context.Post
    //.Where
    .Select( p => new PostDTo {
        PostId,
        PostContent, 
        Username = p.Client.UserName
 })
 .ToListAsync();


请注意,通过使用DTO而不是公开表,可以保证从不公开不需要的数据。

我不关心DTO。现在我完成了我的任务。谢谢你的帮助#保持安全。
 var PostDto = await _context.Post
    //.Where
    .Select( p => new PostDTO {
        PostId,
        PostContent, 
        User = new UserDTO 
        { 
           p.Client.UserName,
           ...
        }
 })
 .ToListAsync();