如果我尝试编写以下代码:错误返回给我:查询结果不能枚举多次
public void StartTransaction()
{
using (var stockMovementCtx = new StockMovementCtxDataContext())
using (var scope = new TransactionScope())
{
var stockMovementItems = from s in stockMovementCtx.spStockMovementForTransaction(TicketID, ItemTypeNo, ItemID, TransactionType,
FromLocation, ToLocation, Qty, PersonelNo, cuser
)
select s;
ReturnCode = stockMovementItems.First().ReturnCode;
// MessageBox.Show(stockMovementItems.First().ToString());
ReturnMsg = stockMovementItems.First().ReturnMessage;
TransactionType = stockMovementItems.First().TransactionType;
TicketID = stockMovementItems.First().TicketID;
详细信息:
最佳答案
我不熟悉这个错误。
但无论如何 - 你为什么要枚举不止一次?
只用一个枚举会更有效率。
public void StartTransaction()
{
using (var stockMovementCtx = new StockMovementCtxDataContext())
using (var scope = new TransactionScope())
{
var stockMovementItems = from s in stockMovementCtx.spStockMovementForTransaction(TicketID, ItemTypeNo, ItemID, TransactionType,
FromLocation, ToLocation, Qty, PersonelNo, cuser
)
select s;
var item = stockMovementItems.FirstOrDefault()
if (item != null)
{
ReturnCode = (item.ReturnCode;
// MessageBox.Show((item.ToString());
ReturnMsg = item.ReturnMessage;
TransactionType = item.TransactionType;
TicketID = item.TicketID;
关于c# - 我该如何解决 "The query results cannot be enumerated more than once"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138253/