是否可以使用Breeze控制器使用OData服务(使用.Net MVC实现)?
我尝试从客户端应用程序添加服务引用,但是当我在服务上使用Breeze控制器时,它根本找不到服务端点。
任何帮助将不胜感激。
答案 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从数据服务中查询和保存。