OData - Open Data Protocol,是一个设计和使用RESTful API的标准。OData的理想是, 无论哪个组织构建的RESTful API,只要其符合OData标准。其他组织就可以按照OData标准中定义的方式去使用这个API获取/修改资源。标准化的另一个好处:可以将Odata协议实现到一个通用的类库中,通过这个类库去创建和访问RESTful API可以减少开发人员的工作量。官网上有很多这样的组件。该标准由微软发起,第四个版本4.0于2014年3月17日在OASIS投票通过成为开放工业标准。
本文主要是记录在asp.net core web api项目中配置odata库的过程以及一些有用的参考资料。如有错误,请指正。
1.项目配置步骤:
odata配置参考:http://odata.github.io/WebApi/#14-02-enableNoDollarQueryOptions
odata的底层使用ef框架,而.netcore使用的是ef core版本,此版本目前官方支持:sql server, sqllite, memory(测试使用)
2.支持mongo:
因为odata的驱动程序库不支持官方不支持mongo数据库,所以使用非官方框架EntityFrameworkCore.MongoDb, github地址:https://github.com/crhairr/EntityFrameworkCore.MongoDb/wiki/Getting-Started。结果是运行直接报错,具体请查阅:https://github.com/crhairr/EntityFrameworkCore.MongoDb/issues/21。放弃!!!
3.Odata + mysql:在1的配置基础上,安装nuget包:MySql.Data.EntityFrameworkCore,在Startup.cs中添加对mysql数据库的支持:
opt.UseMySQL(@"server=localhost;port=3306;database=cnblogs;uid=root;pwd=123456;SslMode=None");
完美运行起来,漂亮!!!
4.注意事项:
odata for asp.net core 目前还处于beta版本,有各种bug的存在,具体请在github上查看问题:https://github.com/OData/WebApi/tree/feature/netcore
领取专属 10元无门槛券
私享最新 技术干货