Winforms 通过webservice向SQL类发送Linq

Winforms 通过webservice向SQL类发送Linq,winforms,web-services,linq-to-sql,asmx,Winforms,Web Services,Linq To Sql,Asmx,我有一个windows应用程序和一个web服务。两者都有一个Linq到SQL映射器,上面有客户表。来自同一数据库的同一个表,所有内容都相同。我试图将winapp.Customer对象发送到web服务,但webserviceReference.MyMethod()接受webservice.Customer对象,不接受winapp.Customer作为参数。尝试将winapp.Customer强制转换为webservice.Customer,但也无法工作。有什么方法可以做到这一点吗?在WinApp中

我有一个windows应用程序和一个web服务。两者都有一个Linq到SQL映射器,上面有客户表。来自同一数据库的同一个表,所有内容都相同。我试图将winapp.Customer对象发送到web服务,但webserviceReference.MyMethod()接受webservice.Customer对象,不接受winapp.Customer作为参数。尝试将winapp.Customer强制转换为webservice.Customer,但也无法工作。有什么方法可以做到这一点吗?

在WinApp中,您可能需要编写一个从WinApp.Customer到webservice.Customer的显式转换。

没有,使用ASMX web服务无法做到这一点。它们要求代理类型和实际类型是不同的类型

您可以使用WCF实现这一点,尽管它打破了SOA的概念(客户机和服务器将通过公共类代码绑定在一起)

最后,使用任何类型的web服务将LINQ传递给SQL或实体框架类都有问题。在层之间传递时,Microsoft会弄乱并序列化依赖于实现的数据。当层位于同一台计算机上时,这可能有意义,但当层位于不同的计算机上时,这就没有意义了