我想從數據庫中獲取記錄的最後一個值。我正在使用實體框架。我正在嘗試獲取餘額的最後一個值,並扣除用戶輸入以獲得新餘額的金額。我是新手,試圖創建一個簡單的費用管理系統。返回列的最後一個值
我控制器
public ActionResult Create([Bind(Include = "ExpenseId,ExpenseFor,DateTime,Amount,Balance,RowVersion")] Expense expense)
{
if (ModelState.IsValid)
{
var a = db.Expenses.Select(b => b.Balance);
var c = a.Last();
expense.Balance = c - expense.Amount;
db.Expenses.Add(expense);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(expense);
}
return View(expense);
}
我的模型看起來像這樣
public class Expense
{
public int ExpenseId { get; set; }
public string ExpenseFor { get; set; }
public DateTime DateTime { get; set; }
public Decimal? Amount { get; set; }
public Decimal? Balance { get; set; }
[Timestamp]
public byte[] RowVersion { get; set; }
}
當我試圖創造新的紀錄,它說,該方法不能被翻譯成店表達。我真的很感激任何幫助。
嘗試'變種C = db.Expenses.Last()餘額; –
您尚未發佈任何會導致該異常的代碼。當您嘗試在EF不知道如何轉換爲SQL的查詢中使用方法時引發該異常。例如,這可能是您實體上的自定義方法,或者是'String.IsNullOrWhiteSpace'類似的東西。但是,這裏沒有這樣的東西。 –
@ChrisPratt編譯器指向var c = a.Last();導致異常。 – singha4086