我要求ASP.NET Web应用程序通过OData将引导提交到crm系统。
除了使用HTTP级别之外,在.Net中使用OData的唯一API似乎是DataServiceContext
类,并调用其通用CreateQuery<>
方法,例如CreateQuery<Lead>("LeadSet");
然而,这需要我的代码具有与OData实体匹配的强类型类。
我对这种方法的问题在于,出于各种原因,我不想使用静态类型。
有没有办法将DataServiceContext与无类型对象一起使用?或者是否有另一个我不知道的OData客户端库?
我的目标是能够写出这样的东西:
var lead = new Entity("Lead");
lead["name"] = "Larry Jones";
lead["source"] = "google";
lead["email"] = "test@test.com";
context.AddObject("LeadSet", lead);
context.SaveChanges();
也许有了动态,这可以做到吗?
答案 0 :(得分:3)
我们目前正在研究这个,所谓的ODataLib。它的第一个CTP是WCF数据服务CTP1的一部分:http://blogs.msdn.com/b/astoriateam/archive/2011/06/30/announcing-wcf-data-services-june-2011-ctp-for-net4-amp-sl4.aspx。 虽然该版本只能读取JSON,但只有在您拥有元数据的情况下,因此它很可能无法使用。我们正在开发ATOM阅读和更简单的元数据故事。 还有一个源版本,虽然那个版本有点旧:http://odata.codeplex.com/releases/view/60787