我正在努力使用的.Join
方法链接语法LINQ
。
我需要使用此语法,以便查询返回IQuerable
结果,而不是IEnumerable
。
我想用来加入Users UserGroups
,并返回一个包含两个表中的字段的新对象。此JOIN
操作的正确语法是什么?
var q = dc.Users
.Join(dc.UserGroups,
p => p.UserGroupID,
s => s.UserGroupID,
x => x.UserGroup) //what is the right syntax?
.Where(p => p.User.DepartmentID == '123')
.OrderBy(p => p.User.UserName)
.Select(p => new UserStruct
{
UserID = p.UserID,
UserName = p.User.UserName,
FullName = p.User.FullName,
UserGroup = p.UserGroup
});
错误在这里是:
无法从用法中推断出方法...的类型参数。
像这样:
var q = dc.Users
.Join(dc.UserGroups,
p => p.UserGroupID,
s => s.UserGroupID,
(u, g) => new { User = u, UserGroup = g})
.Where(p => p.User.DepartmentID == '123')
.OrderBy(p => p.User.UserName)
.Select(p => new UserStruct
{
UserID = p.User.UserID,
UserName = p.User.UserName,
FullName = p.User.FullName,
UserGroup = p.UserGroup
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句