2009-05-13 2 views
12

정말 어리석은 질문입니다, 미안하지만, 저는 google에서 찾을 수 없습니다 (저는 그것이 스크린 캐스트 또는 어딘가에 있다고 확신합니다). DBML (linq2sql 클래스) 다이어그램이 있고 기본 데이터베이스가 변경되었습니다. VS2008에서 어떻게 다이어그램을 "새로 고칩니다"? 보기 -> 새로 고침 또는 RightClick -> 새로 고침 또는 업데이트 옵션이 없습니다.DBML 다이어그램 새로 고침?

현재 기본 데이터베이스를 업데이트 할 때마다 전체 linq2sql 클래스를 다시 만들어야합니다.

답변

8

오른쪽 (DBML 파일을 솔루션 탐색기에서)을 클릭하고 "사용자 정의 도구를 실행"을 선택

+1

글쎄, 조금 비 직관적입니다. 감사! – Chris

+0

지옥 예, "사용자 정의 도구"가 사실 calsses를 생성하는 것임을 발견하는 데 시간이 좀 걸렸습니다. –

+4

데이터베이스 변경으로 DBML 파일을 업데이트하지 않습니다. DBML 파일에서 C# 또는 VB 코드를 생성하는 코드 생성기를 트리거합니다. DB 변경 사항은 여전히 ​​DBML 파일에 전파되어야합니다. 내 대답을 참조하십시오. – KristoferA

5

당신이 다음 DBML 다이어그램으로 할 수 있습니다 데이터베이스 변화를 가져올하려면 :

A) 제거 변경된 엔티티를 디자이너 다이어그램에서 다시 드래그하십시오. 맞춤 설정 (예 : 수업 및 속성 이름 변경 등)은 사라집니다.

B)를 직접 비교하여 기본 데이터베이스와 DBML 파일을 갱신 할 수있는 타사 도구를 사용) 등

C 클래스, 회원 등록, 삭제/추가 다이어그램 업데이트. 그러한 도구 중 하나가 내 추가 기능 인 Huagati DBML/EDMX Tools입니다. VS2008 및 VS2010의 L2S 디자이너에게 업데이트/동기화, 비교, 대량 이름 변경, 이름 규칙 적용, 확장 속성/색인/등의 문서화, dbml 다이어그램 당 여러 '보기'등을 추가합니다.

+0

다이어그램을 뷰에 추가하여 다이어그램을 수동으로 업데이트하는 경우 (일부 텍스트 편집기에서 .xml을 편집 할 수도 있음),'name'을 설정하는 것뿐만 아니라'source'를 해당 열). 이렇게하면이 오류 메시지가 표시되지 않습니다 :'객체 또는 열 이름이 없거나 비어 있습니다. SELECT INTO 문의 경우 각 열에 이름이 있는지 확인하십시오 .' –

1

먼저 .sdf 파일을 .dbml 파일로 업데이트해야합니다. cmd 프롬프트를 열고 SqlMetal.exe 경로와 동일한 경로를 지정하여 작업을 수행했습니다. 그런 다음 .sdf 데이터베이스가있는 디렉토리를 변경 한 다음 "SqlMetal.exe (nameofdatabase) .sdf /dbml:(nameofdatabase).dbml"을 입력하십시오. 이 오른쪽 클릭 후 "사용자 지정 도구 실행"(dbml 파일의 솔루션 탐색기에서)을 선택하십시오. 그것은 그것을해야합니다 (적어도 나를 위해).

관련 문제