为了账号安全,请及时绑定邮箱和手机立即绑定

指定的包含路径无效。EntityType没有声明名称为*的导航属性

指定的包含路径无效。EntityType没有声明名称为*的导航属性

C#
婷婷同学_ 2019-11-04 09:46:53
我正在尝试将数据从LocalDb获取到我的MVC控制器中。我尝试了这个:UsersContext db = new UsersContext();var users = db.UserProfiles.Where(u => u.UserId == WebSecurity.CurrentUserId)                           .Include(u => u.LastName).ToList();它返回此错误:指定的包含路径无效。EntityType“ ChatProj.Models.UserProfile”未声明名称为“ LastName”的导航属性。知道为什么它不起作用吗?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

导航属性应为相关实体集合的实体类型。包括一些导航属性意味着加入了一些相关的实体或实体的当前实体。这样就可以在单个查询中渴望从多个表中加载数据。LastName不是导航属性-它是一个简单字段,默认情况下会加载,您无需添加它:


UsersContext db = new UsersContext();

var users = db.UserProfiles.Where(u => u.UserId == WebSecurity.CurrentUserId)

                           .ToList();

该查询将被翻译成类似


SELECT UserId, UserName, LastName, FirstName 

FROM UserProfiles

WHERE UserId = @value


查看完整回答
反对 回复 2019-11-04
?
炎炎设计

TA贡献1808条经验 获得超4个赞

如果您只想检索LastName,请使用


Select(m => m.LastName)

所以


 var users = db.UserProfiles

                .Where(u => u.UserId == WebSecurity.CurrentUserId)

                .Select(u => u.LastName)//not Include

                .ToList();

LastName 只是模型中的字符串(标量属性),而不是导航属性(与另一个实体的关系)


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 988 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信