2

사용자가 문서를 만들고 저장하는 대규모 데이터베이스를 설계하고 있습니다. 그것의 CMS 좀 문제."doc"는 SQL 2008 또는 C# 또는 Entity Framework 용으로 예약 된 키워드입니까?

내가 만든 테이블은 "Doc"라고 불리는데 Doc 내부의 모든 것을 추적하는 "DocAssets"관계가 있습니다.

Doc 테이블에는 DocID ofcause가 있습니다.

그러나 Entity Framework 모델 디자이너로 이동하여 데이터베이스에서 테이블을 검색 할 때 "Doc"가 추가 테이블로 표시되지 않습니다.

Doc의 이름을로 변경하면 테스트 목적으로 MDoc라고 말하십시오. 데이터베이스에서 업데이트 할 때 테이블이 멋지게 나타납니다. 다시 Doc으로 이름을 바꾸면 테이블 목록에서 사라집니다.

이제 예약어 인 경우 이름 지정 전략에 대해 다른 것을 알아낼 것입니다.하지만 나, 버그입니까, 예약어입니까?

답변

4

Nope 예약어가 아닙니다.

"더 똑똑한 질문"은 what would cause a table not to show up?이었습니다. 이제 당신은 이미 그것의 이름과 예약어에 대한 암시에 기인한다고 가정하고 있습니다. 그것은 사람들이 당신을 도우려고 노력할 수도 있지만, 또한 잘못된 길로 벗어나서 자신을 도울 것입니다.

그리고 덧붙이 자면, 당연히 '예약어 문제'에 쉽게 대답 할 수 있었을 것입니다. 그래서 질문을 게시하는 것은 실제로 구글에서 "sql server reserved words"을 펀치하고 "나는 행운이있다"또는 첫 번째 히트를 클릭하는 것보다 더 많은 일이다.

+0

이 동작을 일으킬만한 다른 아이디어가 있습니까? – BerggreenDK

+0

C#에서도 예약되지 않았습니다. http://msdn.microsoft.com/en-us/library/x53a06bb(v=vs.71).aspx – David

+0

@BerggreenDK 글쎄, EF는 현재로, [오픈 소스] (http : //www.hanselman.com/blog/EntityFrameworkMagicUnicornAndMuchMoreIsNowOpenSourceWithTakeBacks.aspx). 그래서 다이빙을하고 알아보십시오. 그리고 우리에게 알려주세요 ;-) – RobIII