我想从数据库中获取记录的最后一个值。我正在使用实体框架。我正在尝试获取余额的最后一个值,并扣除用户输入以获得新余额的金额。我是新手,试图创建一个简单的费用管理系统。返回列的最后一个值
我控制器
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