C# _请求在问题中,此行可能是removed@IronMan84,这是要在数据库中搜索的值,用于查找普通客户并将其放入要删除的列表中。您可以在第一行使用AsEnumerable而不是ToList,以确保在客户端执行第二次Select,而不必强制将整个查询拉入内
C# _请求在问题中,此行可能是removed@IronMan84,这是要在数据库中搜索的值,用于查找普通客户并将其放入要删除的列表中。您可以在第一行使用AsEnumerable而不是ToList,以确保在客户端执行第二次Select,而不必强制将整个查询拉入内,c#,linq,loops,foreach,C#,Linq,Loops,Foreach,_请求在问题中,此行可能是removed@IronMan84,这是要在数据库中搜索的值,用于查找普通客户并将其放入要删除的列表中。您可以在第一行使用AsEnumerable而不是ToList,以确保在客户端执行第二次Select,而不必强制将整个查询拉入内存,也不必执行任何操作创建一个从未使用过的列表。cancelRequest执行删除操作。我不必为此手动编写代码。它是一个自动生成的对象。@GrantThomas可能是取消请求的集合通过其他方法发送到服务器。问题很简单,OP唯一不知道如何做的就是
_请求在问题中,此行可能是removed@IronMan84,这是要在数据库中搜索的值,用于查找普通客户并将其放入要删除的列表中。您可以在第一行使用
AsEnumerable
而不是ToList
,以确保在客户端执行第二次Select
,而不必强制将整个查询拉入内存,也不必执行任何操作创建一个从未使用过的列表。cancelRequest执行删除操作。我不必为此手动编写代码。它是一个自动生成的对象。@GrantThomas可能是取消请求的集合通过其他方法发送到服务器。问题很简单,OP唯一不知道如何做的就是创建取消对象;他能够使用它们自己实际删除数据。cancelRequest执行删除操作。我不必为此手动编写代码。它是一个自动生成的对象。@GrantThomas可能是取消请求的集合通过其他方法发送到服务器。问题很简单,OP唯一不知道如何做的就是创建取消对象;他能够使用它们自己实际删除数据。感谢您的回复,但同样的问题仍然在发生,仍然试图删除相同的ID号。在原始代码中添加了额外的代码以更好地解释它。现在,我正在尝试一些额外的事情,看看我是否能找到它,但任何建议都是伟大的!谢谢当我调试代码时,我看到当我看到“_request2.CustID=CustID”时,它已经为CustID分配了相同的ID号,但我猜它不会将其更改为我们存储在列表中的数字列表。感谢您的响应,但同样的问题仍然在发生,仍在尝试删除相同的ID号。在原始代码中添加了其他代码以更好地解释它。现在,我正在尝试一些额外的事情,看看我是否能找到它,但任何建议都是伟大的!谢谢当我调试代码时,我看到当我看到“_request2.CustID=CustID”时,它已经为CustID分配了相同的ID号,但我猜它不会将其更改为我们存储在列表中的数字列表。
SearchRequest _request;
CancelRequest _request2;
SearchResponse _response;
CancelResponse _response2;
public void ArrangeRequest() {
_request=new CustomerSearchRequest();
_request.Company="Test Inc. ";
}
var customerIds=_response.Customers.Select(c => c.CustID).ToList();
foreach(var custID in customerIds) {
_request2=new CancelRequest();
_request2.CustID=custID;
_request2.Company=_request.Company;
}
public void Response() {
var ws=new RunEngine();
_response=ws.SearchCust(new AppHeader(), _request) as SearchResponse;
_response2=ws.CancelCust(new AppHeader(), _request2) as CancelResponse;
}
var requestList = new List<CancelRequest>();
var customerIds = _response.Customers.Select(c => c.CustID).ToList();
foreach (var custID in customerIds)
{
_request = new CancelRequest();
_request.CustID = custID;
_request.Company = _request.Company;
requestList.Add(_request);
}
List<CancelRequest> _cancelRequests;
var customerIds = _response.Customers.Select(c => c.CustID);
_cancelRequests = customerIds.Select(custID => new CancelRequest {
CustID = custID,
Company = _request.Company
}).ToList();
partial class Listener /* I named it, to put your code */ {
SearchRequest _request;
CancelRequest _request2;
SearchResponse _response;
CancelResponse _response2;
public void ArrangeRequest() {
_request=new CustomerSearchRequest();
_request.Company="Test Inc. ";
}
void NowhereMethod() {
var customerIds=_response.Customers.Select(c => c.CustID).ToList();
foreach(var custID in customerIds) {
_request2=new CancelRequest();
_request2.CustID=custID;
_request2.Company=_request.Company;
}
}
public void ResponseOriginal() {
var ws=new RunEngine();
_response=ws.SearchCust(new AppHeader(), _request) as SearchResponse;
_response2=ws.CancelCust(new AppHeader(), _request2) as CancelResponse;
}
public void Response() /* tried to correct */ {
var ws=new RunEngine();
_response=ws.SearchCust(new AppHeader(), _request) as SearchResponse;
var customerIds=_response.Customers.Select(c => c.CustID).ToList();
foreach(var custID in customerIds) {
_request2=new CancelRequest();
_request2.CustID=custID;
_request2.Company=_request.Company;
// Seems it should be like this
// but note the assignment might be wrong, it's according to what `CancelCust` returns
// for the correct way to make it a list of Customer is appeared in other answers
_response2=ws.CancelCust(new AppHeader(), _request2) as CancelResponse;
}
}
}
partial class Customer {
public String CustID;
}
partial class Response {
public List<Customer> Customers;
}
partial class Request {
public String Company;
public String CustID;
}
partial class SearchResponse: Response {
}
partial class CancelResponse: Response {
}
partial class SearchRequest: Request {
}
partial class CancelRequest: Request {
}
partial class CustomerSearchRequest: SearchRequest {
}
partial class AppHeader {
}
partial class RunEngine {
public Response SearchCust(AppHeader appHelper, Request request) {
// I don't know what it's like
throw new NotImplementedException();
}
public Response CancelCust(AppHeader appHelper, Request request) {
// I don't know what it's like
throw new NotImplementedException();
}
}
partial class Customer {
// Company was not appearing used in the code
public String CustID;
}
partial class Request {
public String Company;
public String CustID;
}
partial class Customer {
public String Company;
public String CustID;
}
partial class Request: Customer {
}