我将 GridView 绑定到以下 EntityDataSource:
<asp:EntityDataSource ID="sessionQuery" runat="server"
ConnectionString="name=encoreEntities" DefaultContainerName="encoreEntities"
EnableFlattening="False" EntitySetName="sessions" Include="user, user.person"
Where="it.lastactivity > @NowMinusXMins" OrderBy="it.lastactivity desc" >
<WhereParameters>
<asp:Parameter Name="NowMinusXMins" Type="DateTime" />
</WhereParameters>
</asp:EntityDataSource>
这工作正常。
我有另一个名为 SessionHistory 的表,它有一个进入 Session 的外键。此表跟踪会话期间访问的页面。我想将 Session 实体链接到 SessionHistory 中的最新记录,并在 GridView 中显示页面。
加入将是这样的:
select * from session s where s.sessionid = (select top 1 sessionid from sessionhistory order by lastactivitydate desc)
我可以像在这篇文章中那样做:EntityDataSource query inner join 但是,我试图保留 EF 关系,以便我可以在我的 Gridview 中引用它们(例如 session.user.username、session.user.person.lastname、 ETC。)
有没有办法做到这一点?