Linq Ausnahme: die Funktion kann nur aufgerufen werden, die von linq to entities

Ich habe eine StudentReceipts Tabelle, die speichert ReceiptNo als string(001,002,003,..,099,..).

Ich will gehen, um den letzten receiptno details inorder, erhöhen Sie die receiptno für die nächste Transaktion.

Dies ist, was ich versucht habe

  var _lastGeneratedRecDetails = _db.StudentReceipts
                                 .AsEnumerable()
                                 .Where(r => r.Status == true
                                             && EntityFunctions.TruncateTime(r.DueDate.Value) >= _startDate.Date
                                             && EntityFunctions.TruncateTime(r.DueDate.Value) <= _endDate.Date)                                                
                                            .OrderByDescending(x => Int32.Parse(x.ReceiptNo))
                                            .FirstOrDefault();

Aber dort bin ich immer die folgende Ausnahme

diese Funktion kann nur aufgerufen werden, von der linq to entities -

Jede Hilfe wird sehr geschätzt werden.

Sie können gefälschte numerische Bestellung bei Bestellung durch die Länge und dann nach Wert. Keine Notwendigkeit für jede Konvertierung.
Durch Ordering by length ich denke, du meintest Ordering by Id .Wenn das der Fall ist funktioniert es nicht, weil es ist eine chance, die Letzte Zeile kann nicht die latest receiptno
Nein, ich meine OrderByDescending(x => x.ReceiptNo.Length).ThenByDescending(x => x.ReceiptNo)

InformationsquelleAutor ksg | 2016-03-25

Schreibe einen Kommentar