2013-05-13 68 views
0

我有一個工作,但我使用了自定義連接字符串後,它的工作方法......LINQ到實體無法識別方法「DataAccessLayer.faturaozellikleri get_Item(Int32)已

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」在我的數據庫表的名字,我使用實體框架..

回答

1

EF試圖將部分shiftBillNumberList[i].FaturaSeriID到SQL翻譯,但沒有翻譯的。如果你第一次把它放到一個變量,你會沒事的:

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

變量id的價值現在將轉移爲查詢參數。

+0

啊哈我知道了..但我不明白爲什麼它工作得更早..現在一切都很好..謝謝。我會在5分鐘後接受它作爲正確答案:) – ertan2002 2013-05-13 15:20:56

+0

也許你在之前,即在AsEnumerable()或ToList()調用之後在linq-to-objects中做了它。 – 2013-05-13 15:21:56

1

嘗試將shiftBillNumberList [i] .FaturaSeriID轉換爲變量(int或其他),然後調用該函數。

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

這可能有效。

+0

哇這麼親切的承擔:)謝謝你,它的作品 – ertan2002 2013-05-13 15:20:31

相關問題