将服务引用添加到breeze odata服务

时间:2013-10-10 15:15:37

标签: asp.net-mvc wcf odata breeze

是否可以使用Breeze控制器使用OData服务(使用.Net MVC实现)?

我尝试从客户端应用程序添加服务引用,但是当我在服务上使用Breeze控制器时,它根本找不到服务端点。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

是的,在服务器上,您需要创建一个WCF DataService,如下所示:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class ODataService : DataService<Your_EF_DbContext> {

  // Add your Entity Set names here ... for example
  config.SetEntitySetAccessRule("Customers", EntitySetRights.All);
  config.SetEntitySetAccessRule("Orders", EntitySetRights.All);
  config.SetEntitySetAccessRule("Employees", EntitySetRights.All);

  // V3 supported in our next release as well.
  config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
  config.UseVerboseErrors = true;
}

然后从Breeze客户端,您需要致电

 breeze.config.initializeAdapterInstance("dataService", "OData");

初始化Breeze的OData处理。然后,您创建一个EntityManager并连接到您的服务。像这样:

 var myEntityManager = new breeze.EntityManager("http://localhost:9009/ODataService.svc");

您现在可以通过EntityManager从数据服务中查询和保存。