.net core 获取EFCore中除一列以外的所有列
我的数据库中有一个users表,其中包括用户名、加密密码、电子邮件和角色id。我想收回一个不包括密码的所有用户的列表 通过搜索,我找到了ef 6及以下的答案,但在ef core中没有任何有效的答案 这就是我目前拥有的:.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
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);