2012-07-12 47 views
1

有人可以幫忙嗎?無法保存對上下文的更改

我在我的控制器中的創建操作:

public class MovieController : Controller 
    { 
     Connect connection = new Connect(); 
     Movie movie = new Movie(); 

     [HttpPost] 
     public ActionResult Create(Movie moviecreated) 
     { 
     try 
     { 
      // TODO: Add insert logic here 
      connection.Connection().AddObject(moviecreated); 
      connection.Connection().Context.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     catch 
     { 
      return View(movie); 
     } 
     } 
    } 

我的連接類

public class Connect 
{ 
    public ObjectSet<Movie> Connection() 
    { 
     var connStr = ConfigurationManager.ConnectionStrings["Entities"]; 
     ObjectContext context = new ObjectContext(connStr.ConnectionString); 
     var movieContext = context.CreateObjectSet<Movie>(); 
     return movieContext; 
    } 
} 

它不保存新此外,我有什麼錯? 非常感謝。

+0

你有兩個電影對象都被稱爲電影。 你試圖插入數據庫的是哪一個? – KingCronus 2012-07-12 11:47:23

+0

哎呀!我現在改變了它,但仍然無濟於事。我正在嘗試保存新創建的記錄 – 2012-07-12 11:54:34

+0

現在您是否改變了名稱? – 2012-07-12 11:57:18

回答

1

試試這個:

+0

oooo耶現在我記得了!男人但我生鏽我3年沒有做過這件事,已經不記得了一切 – 2012-07-12 13:04:23

+0

非常感謝你! – 2012-07-12 13:05:06

+0

我現在明白了...謝謝eveybody !!! – 2012-07-12 13:11:07

1

每次調用connection()時,都會創建另一個實例。一旦添加新記錄,就會嘗試保存但不同的上下文。 將其更改爲屬性並保存您的上下文。

+0

請問我該怎麼做? – 2012-07-12 12:47:25

+0

您可以在下面的示例中使用@andres descales。 – 2012-07-12 12:51:55