SOAPWCF上的实体框架通用CRUD
我正在编写一个WCF服务,它构建在实体框架ORM之上 该服务的两个客户端是Web应用程序(不是客户端)和Windows服务 我过去曾使用RepositoryPattern来简化服务中的CRUD代码。 是否可以在WCF上执行此操作 我大约有十几个对象需要对其执行CRUD,因此理想情况下,我想要一个服务合同,内容如下:SOAPWCF上的实体框架通用CRUD,wcf,entity-framework-4.1,repository-pattern,Wcf,Entity Framework 4.1,Repository Pattern,我正在编写一个WCF服务,它构建在实体框架ORM之上 该服务的两个客户端是Web应用程序(不是客户端)和Windows服务 我过去曾使用RepositoryPattern来简化服务中的CRUD代码。 是否可以在WCF上执行此操作 我大约有十几个对象需要对其执行CRUD,因此理想情况下,我想要一个服务合同,内容如下: IQueryable<T> GetAll(); IQueryable<T> FindBy(System.Linq.Expressions.Expression
IQueryable<T> GetAll();
IQueryable<T> FindBy(System.Linq.Expressions.Expression<Func<T, bool>> predicate);
virtual void Add(T entity);
virtual void Delete(T entity);
virtual void Edit(T entity);
virtual void Save();
IQueryable GetAll();
IQueryable FindBy(System.Linq.Expressions.Expression谓词);
虚拟虚增(T实体);
虚空删除(T实体);
虚空编辑(T实体);
虚拟空保存();
这种事情在WCF中可能发生吗?有更好的方法吗?使用WCF数据服务-它不使用SOAP,而是使用OData(REST),但它提供了您所需的现成信息。使用标准的soapwcf服务,您必须将表达式树的整个序列化写入SOAP请求,并在服务器上将其重建为Linq查询
另一个选项是ASP.NET Web API,它也支持在开箱即用的客户机上使用
IQueryalbe
。我只使用或见过WCF数据服务作为从客户机应用程序访问数据的一种手段-你能告诉我在C#服务器端应用程序中使用OData服务的参考方向吗?这正是一样。服务器应用程序仍然只是OData客户端。我发现,例如,WCF数据服务客户端库,但它依赖于HTTP协议-我不能使用它,因为WCF服务托管在Windows服务中。WCF数据服务只是一种特殊类型的WCF REST服务,可以托管在任何类型的.NET应用程序中。另外,如果您正确配置系统(netsh用于在选定端口上启用HTTP侦听器),任何类型的.NET应用程序都可以使用HTTP公开服务。好的,谢谢-我不知道您可以这样做。你知道这与TCP绑定的性能相比如何吗?