【发布时间】:2020-04-27 04:12:48
【问题描述】:
我有 4 张桌子。
1 - 用户 2 - 用户角色 3 - 角色 4 - 访问级别
我需要的是,当用户登录应用程序时,访问级别列表将发送给它。
我正在使用以下代码:
var userInfo = await Users.Where(x => x.Id == id)
.Select(x => new
{
UserDusplayName = x.Name + x.Family,
AccessLevel = x.UserRoles.FirstOrDefault().Role.AccessLevels.ToList()
})
.Select(v=>new UserInformationDto
{
DispayName=v.UserDusplayName,
AccessUnserInfos=v.AccessLevel.Select(x=>x.Access)
}).FirstOrDefaultAsync();
在我的数据库中,这个 id 有一个 AccessLevel 。
但是,当我向 this 发送请求时,它会显示以下内容:
从“VisitLambda”调用时,重写“System.Linq.Expressions.ParameterExpression”类型的节点必须返回相同类型的非空值。或者,覆盖 'VisitLambda' 并将其更改为不访问此类子项
我的代码有什么问题?我该如何解决这个问题??
【问题讨论】:
标签: c# asp.net entity-framework asp.net-core entity-framework-core