1

我正在使用 OData v4 实现 web api 我的数据库结构是单独的表我的表之间的关系应该在 Enitiy 框架内表示我已经为我的数据库结构器实现了我的 EF 模型,如下所示:

ODataModelBuilder builder = new ODataConventionModelBuilder();
   builder.EntitySet<tabl1>("tabl1").EntityType.HasKey(p => p.ID);
   builder.EntitySet<tabl2>("tabl2").EntityType.HasKey(p => p.ID);
   builder.EntitySet<tabl3>("tabl3").EntityType.HasKey(p => p.ID);
   builder.EntitySet<tabl4>("tabl4").EntityType.HasKey(p => p.ID);
   config.MapODataServiceRoute(
            routeName: "ODataroute",
            routePrefix: "api",
            model: builder.GetEdmModel());

我怎样才能实现我的表之间的关系,这样我就可以使用这样的查询,或者我是否可以从我的控制器使用正常的 linq 查询操作,但它不适用于我
http://localhost:13193/api/table1 ?$expand =表2

4

1 回答 1

1

不知道您使用的是哪种 EF 技术。如果您正在使用code-first,您只需要在模型定义中设置关系。以下模型在和之间建立1 : n关系:tabl1tabl2

public class tabl1
{
    public int Id { get; set; }
    public virtual tabl2 tabl2 { get; set; }
}

public class tabl2
{
    public int Id { get; set; }
    public virtual ICollection<tabl2> tabl2 { get; set; }
}
于 2015-02-13T09:02:43.623 回答