我有一个正在运行的方法,但在我使用自定义连接字符串之后,它起作用了......
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();
}
}
}
最后一个问题已经出现了问题
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”是我数据库中表格的名称,我使用的是实体框架。
答案 0 :(得分:1)
EF正试图将部分shiftBillNumberList[i].FaturaSeriID
翻译成SQL,但是没有翻译。如果你先将它放入一个变量中就可以了:
var id = shiftBillNumberList[i].FaturaSeriID;
var activeSerial = ent.faturaserileri.FirstOrDefault(f => f.ID == id);
变量id
的值现在将作为查询参数传输。
答案 1 :(得分:1)
尝试将shiftBillNumberList [i] .FaturaSeriID分配给变量(int或其他),然后调用该函数。
var sampleID = shiftBillNumberList[i].FaturaSeriID;
var activeSerial =ent.faturaserileri.FirstOrDefault(f => f.ID == sampleID );
这可能有用。