我正在努力使用OData v4实现web api 我的数据库结构是单独的表,我的表之间的关系应该在Enitiy Framework中表示 我已经为我的数据库结构实现了我的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?$扩大=表2
答案 0 :(得分:1)
不知道您使用的是哪种EF技术。如果您使用code-first
,则只需在模型定义中设置关系。以下模型在1 : n
和tabl1
:
tabl2
关系
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; }
}