使用EF Core / ASP.NET Core的OData - 好还是坏?

时间:2017-06-29 07:50:07

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

我已经阅读了很多关于使用EF Core / ASP.NET Core的OData。 在我看来,每个人都对此有一个看法,而且它有点混乱,所以冒着听起来很愚蠢的风险,我有几个问题:

请注意:
!我不是在谈论使用EF6的经典ASP.NET 4.6或4.7!
!我正在谈论使用EF Core的ASP.NET Core!

  1. 考虑构建API - 是否只有EF Core无法处理的内容以及带有OData的EF Core?

  2. 考虑构建API - 构建干净的RESTful API而不是OData样式的API是不是更好?

  3. 为了方便起见,还没有实施OData牺牲最佳做法吗?

  4. 长期呢? Aren的ASP.NET Core + EF Core在构建时考虑了速度和效率,从而不会让它们自己更快,更高效吗?

2 个答案:

答案 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/,我写了一些关于此主题的想法/指南。

缺点之一是工具和社区。那里没有很多。