【发布时间】:2023-03-22 05:08:01
【问题描述】:
我的数据库中有一个用户表,其中包括用户名、加密密码、电子邮件和角色 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()
}
这样做不会有任何回报。
我尝试将新实体和类映射到表中,省略了密码列,但没有返回任何内容。我想可能是因为它是必填字段。
目前我只是将响应转换为没有密码属性的新 UserSummary 类,但我认为有一种方法可以做到这一点,而无需返回密码。
【问题讨论】:
-
你确定表有行吗?您还可以在 ef core 中为您的实体排除特定列
-
是的,我很肯定这张桌子确实有。使用给出的第一个代码,我得到一个返回所有列的响应。如果可以排除列,请回答如何。我在这方面还没有成功。
-
你用什么?数据注释还是 fluent api ?
-
流利的API。我现在不能,但在早上我会用实体的映射方式编辑我的问题
-
覆盖 DbContext 实例上的 OnModelCreating 方法并添加如下代码:modelBuilder.Entity
() .Ignore(p => p.Password);
标签: .net-core entity-framework-core