正在尝试连接LINQ列值,但不确定LINQ错误在哪里?
我试图连接一个2列的值。应该很简单,但我的LINQ不正确似乎:正在尝试连接LINQ列值,但不确定LINQ错误在哪里?,linq,linq-to-entities,Linq,Linq To Entities,我试图连接一个2列的值。应该很简单,但我的LINQ不正确似乎: @Html.DisplayFor(modelItem => item.StdOrgUsers .Where(r => r.IsAccountOwner == true) .First(r => new {r.Firstname + " " + r.Lastname })) 我得到这个错误: 编译
@Html.DisplayFor(modelItem => item.StdOrgUsers
.Where(r => r.IsAccountOwner == true)
.First(r => new {r.Firstname + " " + r.Lastname }))
我得到这个错误:
编译器错误消息:CS0746:无效的匿名类型成员声明符。匿名类型成员必须使用成员分配、简单名称或成员访问权限声明
一定是因为:
new {r.Firstname + " " + r.Lastname }
提前感谢。您不能在
中声明匿名类型,首先您需要的是:
@Html.DisplayFor(modelItem => item.StdOrgUsers
.Where(r => r.IsAccountOwner == true)
.Select(r => new { FullName = r.Firstname + " " + r.Lastname }))
.First();
还为匿名类型指定属性名FullName
,因为您要连接两个属性
对于错误:
模板只能与字段访问、属性访问、,
一维数组索引或单参数自定义索引器
表情
您不需要匿名类型,一个简单的连接字符串就足够了,如:
@Html.DisplayFor(modelItem => item.StdOrgUsers
.Where(r => r.IsAccountOwner == true)
.Select(r => r.Firstname + " " + r.Lastname)
.First();
连接两个字符串不需要匿名类型:
@Html.DisplayFor(modelItem=>item.StdOrgUsers.Where(r=>r.IsAccountOwner==true)。选择(r=>r.Firstname+“”+r.Lastname)。First())
实际上我在这方面遇到了一个错误:。。。CS0746:无效的匿名类型成员声明符。匿名类型成员必须使用成员分配、简单名称或成员访问权限声明。我复制并粘贴了你的代码。@SamJolly,你确定你已经指定了属性名FullName
,就像在代码中一样。选择(r=>new{FullName=r.Firstname+“”+r.Lastname})
?好的,完成了。现在获取:模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。@SamJolly,在这种情况下,您根本不需要匿名类型,只需执行:。选择(r=>r.Firstname+“”+r.Lastname)