2013-08-16 2 views
0

VS 2012에서 EF 5를 사용하고 있습니다. 새 레코드를 테이블에 저장하려고하지만 테이블에 저장되지 않고 오류가 발생하지 않습니다. 도와주세요 . 내 코드를 첨부하고 있습니다. 오류가 발생되지 않으며 데이터가 저장되지 않으면 var paramOut = context.SaveChanges();EF 5 저장 변경 호출시 변경 내용을 저장하지 않습니다.

using (TestEntities context = new TestEntities(new TestEntityConnectionManager("Testconn").ConnectionString)) 
      { 
       var newCan = new Can 
       { 
        CanGUID = new Guid(canGuid), 
        CanName = canName, 
        CanDescription = canDescription, 
        DesignCandidateID = designCandidateId, 
        MigrationDataXml = migrationDataXml, 
        PersonID = 1, 
        LastModifiedPersonID = 1, 
        CreationDate = DateTime.Now, 
        LastModifiedDate = DateTime.Now, 

       }; 
       context.Cans.AddObject(newCan); 
       var paramOut = context.SaveChanges(); 
       retval = paramOut.ToString(); 
+0

전체적인 방법을 보여줄 수 있습니까? 나는 눈부신 것을 보지 못했고, 다른 것은 ObjectContext 버전을 사용하고 있으며 DbContext를 사용하는 것이 좋습니다. – Justin

+0

안녕 저스틴,이 방법에는 다른 방법이 없습니다. 메서드에 위에서 설명한 것과 같이 newCan 클래스에 값으로 전달하는 매개 변수가 있습니다. –

+0

예외를 넣으려는 시도에 넣고 – kkocabiyik

답변

0

이 잘 보이지 않는 ,

if (ModelState.IsValid)

[HttpPost] 
public ActionResult Create(CLASS Model) 
{ 
     if (ModelState.IsValid) 
     { 
       db.Table.Add(Model); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
     } 
     return View(Model); 
} 
0

으로 둘러싸인 당신의 [HttpPost] 방법에 있어야합니다 문제는 연결 문자열에 있어야합니다.

사실, conStr이 원하는 데이터베이스에 연결하지 못하는 것 같습니다. 그리고 db 이니셜 라이저가 사용자 정의 conStr로 인해 새 데이터베이스로 만들어지고 그 안에 데이터를 저장합니다.

관련 문제