我使用WcfPortal创建了一个Wcf服务。它公开了基本方法Fetch,Delete,Insert和Update。我在我的MVC项目中使用此服务,如下所示
ServiceReference2.WcfPortalClient obj = new ServiceReference2.WcfPortalClient();
Application App = new Application();
var AppType = App.GetType();
ApplicationCriteria Criteria = new ApplicationCriteria {ApplicationName = "application" };
ServiceReference2.FetchRequest Fetch1 = new ServiceReference2.FetchRequest();
CslaTest.ServiceReference2.DataPortalContext context = new ServiceReference2.DataPortalContext();
Fetch1._context = context;
Fetch1._objectType= AppType;
Fetch1._criteria = Criteria;
var list = obj.Fetch(Fetch1);
但是当我编译我的项目时,我得到错误:
使用数据合约名称输入“CslaTest.BusinessLibrary.ApplicationCriteria” ApplicationCriteria:http://schemas.datacontract.org/2004/07/CslaTest.BusinessLibrary'不是预期的。考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。'