2012-12-08 48 views
1

保存我有下面的類爲什麼我的數據是不使用實體框架

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"; 
    } 

費用obj是使用AJAX和JQuery網頁公佈。數據正確進入控制器方法,但不會保存在數據庫中。我怎樣才能保存這些數據?此外,我創建了ExpenseId在保存數據,以便記錄可能是重複的,但將有不同的ExpenseId。請給我一個解決這個問題的方法。

回答

0

你是不是保存所作的更改。

  1. 試試這個:context.SaveChanges();

    documentation

    公衆詮釋的SaveChanges()

    //仍然存在的所有更新到數據源和復位改變 對象上下文跟蹤。

  2. 檢查函數的返回值以確認它是否已保存。

    類型:System.Int32調用SaveChanges時,已添加,修改或已刪除狀態的對象數。

  3. 如果沒有保存,那麼將代碼放在try-catch塊內,並記錄異常以檢查是什麼問題。

希望它有幫助!您context對象

+0

添加它仍然沒有效果...... –

+0

@BhushanFirake修改我的答案,嘗試,並告訴我們發生了什麼事。 –

+0

是,它返回1,但我看不出在數據庫 –

0

呼叫SaveChanges()保存更改。

相關問題