在我的项目中,我使用的是 OData v3 和 v4(背面带有实体框架的 ASP.NET Web API)。目前我使用 Visual Studio 工具构建了一个客户端。
但是还有其他方法吗?我真的必须基于 $metadata 和工具集构建客户端吗?
是否可以通过共享库共享我的模型(合同)并构建这样的客户端:
var client = new ODataClient<MySharedModel>(uri);
MySharedModel.Product product =
client.Products.Where(p => p.Category.Name == "Vegetables").FirstOrDefault();
该模型可以是一组我自己的 DTO 对象,我可以将其映射到等效的实体框架对象。
我的目标是,共享一个文档齐全的模型(源代码 XML 文档)以及附加逻辑,例如ToString
实现和附加属性。此外,我节省了一个额外的步骤:生成客户端(当您在 TFS 构建服务器上自动构建和发布所有包时,这很糟糕)。
这对 OData v3 或 OData v4 可行吗?