我的数据库中有一个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列,但没有返回任何内容。我认为可能是因为这是一个必填字段。
目前,我只是将响应转换为一个没有password属性的新UserSummary类,但我认为有一种方法可以做到这一点,而不需要返回任何密码。
发布于 2018-06-02 02:46:12
您可以使用要使用的属性来创建一个类:
发起类:
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 way here的一些有趣的东西
https://stackoverflow.com/questions/44877455
复制相似问题