我有以下课程
public class Expense
{
public Guid ExpenseId { get; set; }
public DateTime date { get; set; }
public string type { get; set; }
public int cost { get; set; }
public string extra { get; set; }
}
我将数据从网页发布到cntroller方法,该方法将数据保存在数据库中,如下所示:
public string SaveExpense(Expense obj)
{
obj.ExpenseId = Guid.NewGuid();
if (ModelState.IsValid)
{
context.expenses.Add(obj);
context.SaveChanges();
return "Saved";
}
else
return "Error";
}
Expense obj是使用AJAX和JQuery从网页发布的。数据正确地进入控制器方法,但不会保存在数据库中。我该如何保存这些数据?此外,我在保存数据的同时创建ExpenseId,因此记录可能是重复的,但会有不同的ExpenseId。请建议我克服这个问题。
答案 0 :(得分:0)
您没有保存所做的更改。
试试这个:context.SaveChanges();
public int SaveChanges()
//保留对数据源的所有更新并重置更改跟踪 对象上下文。
检查函数的返回值以确认它是否已保存。
类型:System.Int32已添加,已修改或中的对象数 调用SaveChanges时删除状态。
如果未保存,则将代码放入try-catch块并记录异常以检查问题所在。
希望它有所帮助!
答案 1 :(得分:0)
致电SaveChanges()
对象上的context
以保存更改。