.net core 获取EFCore中除一列以外的所有列

.net core 获取EFCore中除一列以外的所有列,.net-core,entity-framework-core,.net Core,Entity Framework Core,我的数据库中有一个users表,其中包括用户名、加密密码、电子邮件和角色id。我想收回一个不包括密码的所有用户的列表 通过搜索,我找到了ef 6及以下的答案,但在ef core中没有任何有效的答案 这就是我目前拥有的: using (var context = new dbcontext()) { return context.Users.ToList() } 我试过了 using (var context = new dbcontext()) { return conte

我的数据库中有一个users表,其中包括用户名、加密密码、电子邮件和角色id。我想收回一个不包括密码的所有用户的列表

通过搜索,我找到了ef 6及以下的答案,但在ef core中没有任何有效的答案

这就是我目前拥有的:

using (var context = new dbcontext())
{
     return context.Users.ToList()
}
我试过了

using (var context = new dbcontext())
{
     return context.Users
     .Select (u => new
     {
           Id = u.Id
           Username = u.Username
           Email = u.Email
      }
     .ToList()
}
这样做毫无回报

我尝试将一个新的实体和类映射到表中,而忽略了password列,但没有返回任何内容。我想可能是因为这是一个必填字段


目前,我正在将响应转换为一个新的UserSummary类,该类没有password属性,但我认为有一种方法可以在不返回密码的情况下执行此操作。

您可以创建一个具有要使用的属性的类,例如:

原始分类:

public class Rating
{
    public Rating() { }
    public int IdRating { get; private set; }
    public string IdUser { get; set; }
    public decimal Value { get; private set; }
    public string Comment { get; private set; }
    public bool IsEnabled { get; set; }
    public int IdCorrespondent { get; private set; }}
目的地类别:

public class RatingView
{
    public Rating() { }
    public int IdRating { get; private set; }
    public decimal Value { get; private set; }
}
并使用方法select ex将其映射到存储库中:

public List<RatingView> ListRatings()
    {
        return _context.Ratings.Select(x => new RatingView
        {
            IdRating = x.IdRating ,
            Value = x.Value ,
        }).ToList();

    }
公共列表评级()
{
return\u context.Ratings.Select(x=>newratingview
{
IdRating=x.IdRating,
值=x.值,
}).ToList();
}

如果您不想重新建模类,您可以使用dapper进行自己的查询,并且您可以找到dapper way的有趣内容

您是否确保表中有行?此外,您还可以在ef coreYes中排除实体的特定列。我肯定表中有。在给出第一个代码后,我得到一个返回所有列的响应。如果可以排除列,请回答如何排除列。我在这方面还没有成功。你用什么?数据注释或fluent api?fluent api。我现在无法回答,但在上午,我将编辑我的问题,询问实体是如何映射的。请覆盖DbContext实例上的OnModelCreating方法,并添加如下代码:modelBuilder.entity().Ignore(p=>p.Password);