Asp.net mvc 5 EF6连接类型
我试图弄清楚如何声明连接对象。我知道我可以使用var这个词并完成它,但我希望完全理解返回的对象的类型以及我将如何声明这样一个对象。以下是我正在努力工作的示例:Asp.net mvc 5 EF6连接类型,asp.net-mvc-5,entity-framework-6,Asp.net Mvc 5,Entity Framework 6,我试图弄清楚如何声明连接对象。我知道我可以使用var这个词并完成它,但我希望完全理解返回的对象的类型以及我将如何声明这样一个对象。以下是我正在努力工作的示例: IQueryable<TeamMember, Member> j = Db.TeamMembers.Join(Db.Users, c => c.MemberId, cm => cm.Id,
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));
IQueryable j=
Db.TeamMembers.Join(Db.Users,
c=>c.MemberId,
cm=>cm.Id,
(c,cm)=>new{TeamMember=c,Member=cm})
其中(m=>m.TeamMember.TeamId==team.Id&&!m.TeamMember.MemberId.Equals(team.CaptainId));
但是上面的代码不起作用,我得到的错误是
类型参数的数目不正确
我将如何完成上述任务?
IQueryable
仅接受1类型(IQueryable
)
这就解释了您收到的错误消息
在JOIN查询中,您将返回匿名
类型(来源:),因此您可以使用
IQueryable j=
IQueryable j=
var j=
无法通过当前代码了解类型,但您可以创建另一个模型并使用它您可以让Intellisense为您完成工作。使用
var
,可能需要编译,并将鼠标悬停在var
关键字(而不是变量名)上。工具提示将包含变量的类型。如果可以的话,我一直试图避免创建另一个对象,但看起来我必须这样做。@Bagzli:创建新对象仅用于显示目的(ViewModel)或传输目的(DataTransferObject)是可以的