我试图找出如何声明连接对象。我知道我可以使用var这个词来完成它,但我希望完全理解返回的对象的类型以及如何声明这样的对象。以下是我试图开展工作的例子:
IQueryable<TeamMember, Member> j =
Db.TeamMembers.Join(Db.Users,
c => c.MemberId,
cm => cm.Id,
(c, cm) => new { TeamMember = c, Member = cm })
.Where(m => m.TeamMember.TeamId == team.Id && !m.TeamMember.MemberId.Equals(team.CaptainId));
但是上面的代码不起作用,我得到的错误是
类型参数数量不正确。
我如何完成上述工作?
答案 0 :(得分:0)
IQueryable
只接受 1类型(IQueryable<T>
)
这解释了您的错误消息。
在您的JOIN查询中,您返回anonymous
类型(来源:https://msdn.microsoft.com/en-sg/library/bb397696.aspx),因此您可以使用的是
IQueryable<object> j =
IQueryable<dynamic> j =
var j =
您无法使用当前代码了解类型,但您始终可以创建另一个模型并使用它