我已经阅读了很多关于使用EF Core / ASP.NET Core的OData。 在我看来,每个人都对此有一个看法,而且它有点混乱,所以冒着听起来很愚蠢的风险,我有几个问题:
请注意:
!我不是在谈论使用EF6的经典ASP.NET 4.6或4.7!
!我正在谈论使用EF Core的ASP.NET Core!
考虑构建API - 是否只有EF Core无法处理的内容以及带有OData的EF Core?
考虑构建API - 构建干净的RESTful API而不是OData样式的API是不是更好?
为了方便起见,还没有实施OData牺牲最佳做法吗?
长期呢? Aren的ASP.NET Core + EF Core在构建时考虑了速度和效率,从而不会让它们自己更快,更高效吗?
答案 0 :(得分:3)
我会选择我在Pluralsight上找到的Shawn Wildermuth's advice:
OData表示查询位于客户端上,以便版本化OData 服务变得有风险,感觉就像 MS正在远离它那样 我也不相信它的长期可行性。
答案 1 :(得分:0)
ASP.NET Core / EF Core上的OData效果很好。可以使用Microsofts版本控制API完成版本控制。 我不一定看到MS放弃这项技术。主要的api(ms图)与odata 4兼容。
在许多用例中,在EF Core之上使用Odata确实很有趣。特别是我非常喜欢的查询部分。 为了实现写入/命令,我通常退回到webapi / Mediatr。
在https://www.jannikbuschke.de/blog/cqrs-with-mediatr-and-odata/和这里https://www.jannikbuschke.de/blog/odata-getting-started/,我写了一些关于此主题的想法/指南。
缺点之一是工具和社区。那里没有很多。