獲取EFCore中除一個列之外的所有列

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

這樣做什麼都不會。

我已經嘗試將一個新的實體和類映射到表中,但是沒有返回任何內容。我想可能是因為它是必需的領域。

目前我只是將響應轉換為沒有password屬性的新UserSummary類,但我認為有一種方法可以在沒有返回密碼的情況下執行此操作。

熱門答案

您可以使用要使用的屬性創建一個類:

起源類:

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方式的有趣信息



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow