2011-12-07 3 views
3

datetime 열을 포함하는 SQL Server 테이블이 하나 있습니다. 나는 SQL에 LINQ를 사용한다.응용 프로그램이 중지되었을 때 SQL Server 데이터가 삭제되는 이유는 무엇입니까?

프로그램을 실행하는 동안 모든 데이터가 테이블에 저장되며 모든 결과가 올바르게 표시됩니다.

그러나 실행을 종료하자마자 테이블에 데이터가없고 getall 함수가 null을 반환합니다.

문제점을 찾을 수 없습니다.

테이블에 데이터를 삽입하는 코드는 다음과 같습니다

public bool AddTime(WorkTime ToAdd) 
{ 
    try 
    { 
     _context.WorkTimes.InsertOnSubmit(ToAdd); 
     _context.SubmitChanges(); 
    } 
    catch (Exception) 
    { 
     return false; 
    } 
    return true; 
} 
+4

는 반환하지 마십시오 빌드 할 때 데이터베이스를 덮어하지 않도록주의 예외가 발생했는지 여부에 따라 true 또는 false로 예외를 삼킨다. 호출 코드가 무엇이 잘못되었는지를 알고 있어야합니까? –

+0

테이블을 잘못 읽었거나, bak을 굴리는 열린 트랜잭션이 있거나 어딘가에 DELETE가 있습니다. 데이터가 사라지지 않습니다 – gbn

+0

** 연결 문자열 표시 **! 대부분의 경우, 당신은 거기에'AttachDbFileName = ....'과'User Instance = true'를 가지고 있습니다. 그들은 다소 "접근하지 못합니다"접근 방식입니다. –

답변

5

는 대부분의 경우, 당신은 SQL 서버 Express Edition을 독립 실행 파일을 사용하여, 그 재 구축하기 때마다 (출력 폴더에 복사)를 짓다.

옵션 :

  • 오히려 독립 파일을 사용하는 것보다, 엔진 자체의 내부 데이터베이스를 등록하거나
+0

엔진에서 DB를 등록하는 방법에 대해 더 자세히 설명해 주시겠습니까 ? –

+0

@Avrahamshuk SSMS가 있습니까 (무료 버전이 있습니까)? 그렇다면'. \ SQLEXPRESS' (보통)에 연결하고, "Databases"를 오른쪽 클릭하고, "Attach"를 선택하십시오. 그런 다음 해당 데이터 소스를 사용하도록 연결 문자열을 변경하십시오. –

관련 문제