获取EFCore

时间:2017-07-03 03:39:24

标签: .net-core entity-framework-core

我的数据库中有一个用户表,包括用户名,加密密码,电子邮件和角色ID。我想撤回除密码之外的所有用户的列表。

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

这就是我目前的情况:

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()
}

这样做不会返回任何内容。

我已经尝试将新实体和类映射到表中,但是没有返回任何内容。我想可能是因为它是必需的领域。

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

1 个答案:

答案 0 :(得分:1)

您可以创建一个包含您要使用的属性的类:

原创课程:

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();

    }

如果你不想改造课程,你可以使用dapper进行自己的查询,你可以找到关于dapper方式的有趣的事情here