首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取EFCore中除一列以外的所有列

获取EFCore中除一列以外的所有列
EN

Stack Overflow用户
提问于 2017-07-03 11:39:24
回答 1查看 1.6K关注 0票数 2

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

通过搜索,我找到了ef 6及更低版本的答案,但在ef core中找不到。

这是我目前所拥有的:

代码语言:javascript
复制
using (var context = new dbcontext())
{
     return context.Users.ToList()
}

我试过了

代码语言:javascript
复制
using (var context = new dbcontext())
{
     return context.Users
     .Select (u => new
     {
           Id = u.Id
           Username = u.Username
           Email = u.Email
      }
     .ToList()
}

执行此操作不会返回任何内容。

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

目前,我只是将响应转换为一个没有password属性的新UserSummary类,但我认为有一种方法可以做到这一点,而不需要返回任何密码。

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 02:46:12

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

发起类:

代码语言:javascript
复制
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; }}

目标类:

代码语言:javascript
复制
public class RatingView
{
    public Rating() { }
    public int IdRating { get; private set; }
    public decimal Value { get; private set; }
}

并使用方法select ex将其映射到存储库:

代码语言:javascript
复制
public List<RatingView> ListRatings()
    {
        return _context.Ratings.Select(x => new RatingView
        {
            IdRating = x.IdRating ,
            Value = x.Value ,
        }).ToList();

    }

如果你不想重塑这个类,你可以使用dapper进行你自己的查询,你可以找到关于dapper way here的一些有趣的东西

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44877455

复制
相关文章

相似问题

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