동적 데이터 웹 애플리케이션에서 항목 페이지 추가에서자가 유전자 안내 열 제거

StackOverflow https://stackoverflow.com/questions/454235

문제

테이블의 기본 키로 GUID를 가진 데이터베이스를 사용하는 동적 데이터 엔티티 웹 애플리케이션이 있습니다. 모든 GUID 필드에는 기본값이 NewId ()로 설정되어 있으므로 SQL Server는 모든 레코드에 대한 새로운 GUID를 생성합니다. 그러나 동적 데이터 웹 사이트에서 새 항목 삽입 페이지에서 Guid Field가 표시되며 사용자가 데이터를 입력 할 것으로 예상됩니다. 필드가 표시되는 것을 어떻게 방지 할 수 있습니까?

도움이 되었습니까?

해결책

에 따르면 MSDN:

"스캐 폴드 속성을 사용하고 값을 False로 설정하여 다른 열을 수행 할 때 기본 키를 숨길 수 있습니다. 자동으로 생성 된 키가 인식되지 않기 때문에 기본 삽입 페이지 템플릿은 자동 기본 키가있는 테이블의 EDM에서 작동하지 않습니다. 엔티티의 부분 클래스를 만들고 false 값으로 스캐 폴드 속성을 적용하지 않는 한. "

또한 제쳐두고 SQL Server 2005 이상을 사용하는 경우 삽입에 더 효율적이므로 Guid의 기본값에 "NewSeventientiD ()"을 사용하는 것이 좋습니다.

다른 팁

정답이 아닙니다 ..

내가 한이 일을 한 후에, 당신은 모든 Zero와 함께 Guid를 얻을 수있는 1 레코드를 삽입 할 수 있습니다. 그 후에는 오류 메시지가 전혀 얻지 못하지만 Guid의 고유 인덱스 제약 조건 (물론 기본 키입니다)으로 인해 더 이상 레코드를 삽입 할 수 없습니다.

이 문제를 실제로 해결하려면 EMDX 파일을 편집하고 추가해야합니다.

StoreGeneratedPattern="Identity"

"SSDL 컨텐츠"주석에 따라 Guid 속성 태그에. 예시:

   <Property Name="Guid" Type="uniqueidentifier" Nullable="false" StoreGeneratedPattern="Identity"/>

yhou가 Visual Studio 내 디자이너 에서이 작업을 수행한다면 "CSDL 컨텐츠"주석에 따라 속성 태그에 주석을 달고 작동하지 않습니다.

중고 엔티티 프레임 워크 4.0 Visual Studio 10 및 .NET Framework 4.0

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top