0

使用 ASP.net 实体框架。我的数据库中的两个实体之间存在关联(一个-> 多个)。现在我只使用此代码将第一个实体数据返回到网页。我怎样才能返回实体和它的关联?

服务器端

public IQueryable<Exercise> GetExercise([QueryString("exerciseID")]int? exerciseID)
    {

        IQueryable<Exercise> query = null;

        var context = new TrainingModelContainer();
        if (exerciseID.HasValue && exerciseID > 0)
        { 
        query = from e in context.ExerciseSet where e.Id == exerciseID select e;  
        }

        return query;
    }

网络

<asp:FormView ID="exerciseView" runat="server" ItemType="WebApplication1.Exercise" SelectMethod="GetExercise" RenderOuterTable="false">
        <ItemTemplate>
            <div>
                <p><%#:Item.Description %></p>
                <p><%#:Item.Date%></p>
            </div>
        </ItemTemplate>
    </asp:FormView>
4

1 回答 1

0

简短的回答是您可能需要以下Include方法:

 context.ExerciseSet.Include("Associatives") where e.Id ....

更长的答案(对您而言)是最好使用视图模型,它使您能够准确定义发送给客户端的内容。在大多数情况下,这样的模型可以简单地由 linq 查询的投影填充:

 ... select new ExerciseSetModel { Property1 = e.Property1, Property2 = ... }
于 2012-09-11T21:38:26.243 回答