2012-11-14 4 views
6

내가 응용 프로그램을 콘솔에 엔티티 프레임 워크를 추가하려고 (이미지 포함) : 내가 누른 다음 enter image description here어떻게 응용 프로그램을 콘솔에 엔티티 프레임 워크를 추가

enter image description here

"새 항목을 추가" 다음

enter image description here

enter image description here

enter image description here

enter image description here

는 내가 코드를 추가 :

class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       Database1Entities db = new Database1Entities(); 
       db.AddToTableTest(new TableTest { name = "name" }); 
       db.SaveChanges(); 

       int count = db.TableTest.Count(); 
       int ui = 9 + 0; 
      } 
      catch (Exception e) 
      { 

      } 
     } 
    } 

그것은 오류를 제공하지 않습니다,하지만 나는 데이터베이스에 변경 사항이 표시되지 않습니다. 문제를 더 잘 설명했습니다. here

+4

어떻게 당신은 당신이 예외를 삼키는하는 경우 그 오류를 제공하지 않습니다 알 수 있습니까? –

+1

거기에 중단 점을 넣습니다. –

+1

작업을 완료 할 때까지 오류가 발생하도록해야합니다. 'try/catch'가 있다면 catch 블록에서 예외에 대해서만 알 수 있습니다. 전혀 가지고 있지 않지만 디버깅 중이라면 오류가 발생한 행에서 오류를 찾아내어 오류의 원인을 확인할 수 있습니다. 당신의 MDF 데이터베이스 파일을 출력 디렉터리에 복사 (이이 동작을 변경할 수있는 VS의 옵션이 있습니다,하지만 그건 기본이야) – Bobson

답변

3

EF 모델을 설정 한 것과 동일한 단계를 수행했습니다. 당신의 database.mdf 파일 Copy alwaysCopy to Output Directory 세트를 가지고, 그 의미는 F5를 (빌드 또는 디버깅 응용 프로그램) 파일이 프로젝트의 빈로 대체지고 누를 때마다.

문제를 해결해야 MDF 파일의 등록 정보 창에 Copy to Output Directory 변경.

Copy if newer을 사용하는 경우 데이터베이스 (mdf) 자체를 편집 할 때까지 데이터베이스 내용에 대한 모든 수정 사항을 유지하게됩니다. Do not copy

는 MDF 파일에 대한 변경 사항은 응용 프로그램에 반영 얻을하지 않을 아마 EF 문제가 발생합니다. 당신이 항상 가능한 있도록

나는 당신이 MDF 파일에 기본 데이터를 Copy if newer를 사용하고 입력이 시나리오 좋습니다.

+0

나는 다른 조합을 시도하고 더 새로운 경우에 베낀다. 하지만 데이터베이스에 연결을 닫은 다음 새로 고치면 여전히 카운트 = 1입니다. –

+0

새로 고침한다는 것은 무엇입니까? 다음과 같이 사용하여 결과를 붙여 넣으십시오. http://pastebin.com/MdwgeHKn –

+0

결과는 간단합니다. F5 키를 5 번 누르면 count = 5가됩니다. 프로젝트를 닫고 키를 누른 다음 F5 키를 누르면 count = 1이됩니다. 그러면 데이터베이스가 new로 바뀝니다. 그러나 그것을 멈추는 방법? –