0
sago created
i got this error :
A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe
when this function Executed
public PagedResultDto InvoicesList(FilterDto input)
{
try
{
var query = from inv in _txSalesInfo.GetAll()
// .WhereIf(
// !input.Filter.IsNullOrWhiteSpace(),
// u =>
// u.Invoicenumber.Contains(input.Filter) ||
// u.CustomerName.Contains(input.Filter) ||
// u.Refrencenumber.Contains(input.Filter)
//)
from org in _organizationUnitRepository.GetAll().Where(a => a.Id == inv.SationId)
// .WhereIf(
//!input.Filter.IsNullOrWhiteSpace(),
//u =>
// u.DisplayName.Contains(input.Filter)
// )
from op in _PartyRepo.GetAll().Where(a => a.Id == inv.OperatorId)
// .WhereIf(
//!input.Filter.IsNullOrWhiteSpace(),
// u =>
// u.JsonName.Contains(input.Filter)
// )
select new { inv, op, org };
var items = query
.OrderByDescending(a => a.inv.InvoiceDate)
.PageBy(input)
.ToList();
var projectedItems = (from a in items
select new SalesInvoiceListingDto
{
Id = a.inv.Id,
CustomerRefrenceNumber = a.inv.CustomerRefrenceNumber,
DueDate = a.inv.DueDate,
InvoiceDate = a.inv.InvoiceDate,
Invoicenumber = a.inv.Invoicenumber,
Refrencenumber = a.inv.Refrencenumber,
StatusId = a.inv.StatusId,
Operator = a.op.JsonName,
Station = a.org.DisplayName,
Customer = a.inv.CustomerName
}).ToList();
var TotalCount = query.Count();
return new PagedResultDto(
TotalCount,
projectedItems
);
}
catch (Exception ex)
{
return null;
}
}
although i replaced all async to sync
2 Answer(s)
-
0
the query looks OK. However the exception is related with ASYNC operation. Be sure you have not any Async keyword in your execution stack.
-
0
it's worked when i replaced (from ) to join :
public PagedResultDto InvoicesList(FilterDto input) { try { var query = from inv in _txSalesInfo.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.Invoicenumber.Contains(input.Filter) || u.CustomerName.Contains(input.Filter) || u.Refrencenumber.Contains(input.Filter)) join org in _organizationUnitRepository.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.DisplayName.Contains(input.Filter) ) on inv.SationId equals org.Id join op in _PartyRepo.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.JsonName.Contains(input.Filter) ) on inv.OperatorId equals op.Id select new SalesInvoiceListingDto { Id = inv.Id, CustomerRefrenceNumber = inv.CustomerRefrenceNumber, DueDate = inv.DueDate, InvoiceDate = inv.InvoiceDate, Invoicenumber = inv.Invoicenumber, Refrencenumber = inv.Refrencenumber, StatusId = inv.StatusId, Operator = op.JsonName, Station = org.DisplayName, Customer = inv.CustomerName }; var desiredItems = query .OrderByDescending(u => u.InvoiceDate) .PageBy(input) .ToList(); var TotalCount = query.Count(); return new PagedResultDto( TotalCount, desiredItems ); } catch (Exception ex) { return null; } }