0

我有一个有效的方法,但是在我使用自定义连接字符串之后,它就有效了......

public void ShiftBillNumber(List<faturaozellikleri> shiftBillNumberList,int  accrual)
{           
  var faturaOzellikleri = new faturaozellikleri();

  for (int i = 0; i < shiftBillNumberList.Count; i++)
  {
    faturaOzellikleri = shiftBillNumberList[i];

   if (i != shiftBillNumberList.Count - 1)
   {
     if (faturaOzellikleri.FaturaSeriID != shiftBillNumberList[i + 1].FaturaSeriID)
     {
      shiftBillNumberList[i].FaturaNo = shiftBillNumberList[i + 1].FaturaNo;
      shiftBillNumberList[i].FaturaSeriID = shiftBillNumberList[i + 1].FaturaSeriID;
      shiftBillNumberList[i].SeriNo = shiftBillNumberList[i + 1].SeriNo;
     }
     else
     {
      shiftBillNumberList[i].FaturaNo = shiftBillNumberList[i].FaturaNo + accrual;
     }
   }
   else
  {

   var activeSerial =ent.faturaserileri.FirstOrDefault(f => f.ID == shiftBillNumberList[i].FaturaSeriID);

      *********************** 
    ****************

      ent.SaveChanges();

    }

  }
 }

问题已经出现在上一个else中

   var activeSerial =ent.faturaserileri.FirstOrDefault(f => f.ID == shiftBillNumberList[i].FaturaSeriID);

这是工作,但现在它不起作用..我试过这样(把它分成两部分

var xx = ent.faturaserileri.Select(s => s);

var activeSerial = xx.FirstOrDefault(f => f.ID == shiftBillNumberList[i].FaturaSeriID);

但我得到同样的错误..

“faturaozellikleri”是我数据库中一个表的名称,我使用实体框架..

4

2 回答 2

2

EF 正在尝试将该部分翻译shiftBillNumberList[i].FaturaSeriID为 SQL,但尚未对此进行翻译。如果您首先将其放入变量中,则可以:

var id = shiftBillNumberList[i].FaturaSeriID;    
var activeSerial = ent.faturaserileri.FirstOrDefault(f => f.ID == id);

变量的值id现在将作为查询参数传输。

于 2013-05-13T15:16:11.947 回答
1

尝试将 shiftBillNumberList[i].FaturaSeriID 分配给一个变量(int 或其他),然后调用该函数。

var sampleID = shiftBillNumberList[i].FaturaSeriID;
var activeSerial =ent.faturaserileri.FirstOrDefault(f => f.ID == sampleID );

这可能会奏效。

于 2013-05-13T15:16:35.737 回答