oData C#客户端结果重复记录

时间:2019-06-06 11:09:54

标签: asp.net-web-api odata

我已经编写了OData Controller来获取记录,此odata调用存储过程并在与RestClient调用进行检查时可以正常返回记录。

当我在C#中调用此api时,它给了我相同数量的记录,这些记录是从存储过程返回的,但是这里有很多记录正在重复,而许多记录却丢失了。

我不知道我在电话中想念的地方和内容,这是我写给我打电话的代码。

1)已经将主键集写入了模型。 2)在提琴手中检查了呼叫,并且在fidler记录中的呼叫显示正确。

Uri serviceUri =新的Uri($“ {WebServiceUtil.OdataBaseAddress} / CustomerReach”);             容器_context =新容器(serviceUri);

        string messageText = string.Empty;
        _context.SendingRequest2 += (objSender, objEventArgs) =>
        {
            messageText = string.Format("{0} {1}", objEventArgs.RequestMessage.Method, objEventArgs.RequestMessage.Url);
        };
        _context.BuildingRequest += (o, args) => args.Headers.Add("Authorization", "Bearer " + SecurityUtil.CurrentToken);
        _context.Format.UseJson();

        BodyOperationParameter companyIdParam = new BodyOperationParameter("CompanyId", CurrentContext.CurrentContextCompanyId);
        BodyOperationParameter customerIdParam = new BodyOperationParameter("CustomerId", searchCriteria.CustomerId);
        BodyOperationParameter ContactNameParam = new BodyOperationParameter("ContactName", searchCriteria.ContactName);
        BodyOperationParameter AddressParam = new BodyOperationParameter("Address", searchCriteria.Address);
        BodyOperationParameter BusinessNameParam = new BodyOperationParameter("BusinessName", searchCriteria.BusinessName);

OperationParameter [] operationParameters = {companyIdParam,customerIdParam,ContactNameParam,AddressParam,BusinessNameParam};                     _customerReachesVms = _context.Execute(serviceUri,“ POST”,operationParameters).ToList();

预期的结果与从oData Controller返回的结果相同,这是我需要的,而不会丢失和重复记录。

0 个答案:

没有答案