본문 바로가기

C#/Entity Framework

02.Entity Framework 데이터 저장 ( SaveChange )

■ Entity Model 사용 시 

아래의 코드를 사용하여 컨텍스트가 활성화 후 Entity Data Model에 접근하여 수정된 모든사항에 대하여 SaveChanges메소드가 호출되는 시점에 모든 정보를 수정함.

using (var context = new dbEntities()) 

원본이미지 주소 : https://www.entityframeworktutorial.net/EntityFramework-Architecture.aspx

using temp.Model;

// 컨텍스트 활성화 구간
using (var context = new dbEntities()) 
{ 
    // Entity 객체생성
    var temp = new tempData() 
    { 
        val_1 = "1", 
        val_2 = "2" 
    }; 
	
    // Entity 객체 데이터 추가
    context.dbEntities.Add(temp); 
    
    // 실제 데이터 베이스에 반영되는 시점
	context.SaveChanges(); 
}

- 특정 Entity 객체에 데이터를 추가하는 소스코드 

- var context = new dbEntities() 호출하는 컨텍스트가 활성화 되며 컨텍스트 내부의 객체에 접근가능함

using (var context = new tempEntities()) 
{ 
  // 트랜잭션 처리
  using (DbContextTransaction transaction = context.Database.BeginTransaction()) 
  { 
  	try 
    { 

      // 1. insert ( Entity 객체 추가 )
      ivpgDB.tempEntity.tempInsert(context, 1, 1, "R"); 

      // 2. update ( Entity 객체 수정 ) 
      ivpgDB.tempEntity.tempupdate(context, 1, 1, "S"); 

	  // 데이터베이스에 변경점이 반영되는 코드	
      transaction.Commit(); 

    } 
    catch (Exception ex) 
    { 
      // 예외가 발생화면 이전상태로 
      transaction.Rollback(); 
      Console.WriteLine("Error occurred."); 
    } 
    finally 
    { 
      // 데이터베이스에 변경점이 반영되는 코드
      transaction.Commit(); 
    }
  } 
}

 

'C# > Entity Framework' 카테고리의 다른 글

01.Entity DataModel 만들기  (0) 2019.11.14
00.Entity Framework 개념잡기  (0) 2019.11.14