AspNet Core WebApi OData-多对多联接表

时间:2019-07-16 22:08:59

标签: asp.net-core entity-framework-core odata relationship

这几天,当您进行多对多连接时,这是EF Core中的推荐模式,我们会这样做:

https://codesandbox.io/s/material-demo-k9l9h

已经完成了我要如何在OData模型中公开它的问题。

从技术上讲,实体类型定义没有键属性(因为它使用复合键,所以OData框架不喜欢我将集合添加到模型中。

对于此问题,推荐的方法是什么?

1 个答案:

答案 0 :(得分:0)

似乎EF和OData已经有点同步了,如果他们能真正共享模型构建代码,那就更好了。

为此,我发现在调用AddSet之后在OData模型构建中,我能够以与在EF中相同的方式定义键...

Builder.EntityType<UserRole>().HasKey(ac => new { ac.UserId, ac.RoleId });

这有点干净,我还没有尝试过发布或直接请求这种类型,但是从关系链的任何一侧扩展似乎都可以。