2009-06-23 5 views
0

smalldatetime SQL Server 데이터 형식이 엔터티 프로젝트의 datetime에 매핑되었음을 알게되었습니다. 난 괜찮아. 엔티티가 변경 사항을 저장할 때 실제로 datetime2 데이터 유형 (현재 프로덕션 데이터베이스가 지원하지 않음)을 사용합니다. 이제 그게 문제입니다.Entity Framework datetime 데이터 형식 매핑

엔티티 디자이너 코드를 보면 속성 창에 날짜 시간으로 표시되지만 VB의 날짜 개체가 사용되는 것을 볼 수 있습니다.

데이터베이스의 업데이트로 인해 변경 사항을 덮어 쓰지 않아도 코드 유지 관리가 엉망이되지 않도록하려면 엔티티 코드를 변경하지 않을 것입니다.

datetime2는 어디에서 왔습니까? 어떤 아이디어? 사전에 어떤 도움

덕분에, 에 넣기

답변

4

좋아 사람을 도와줍니다.

엔터티가 SQL 2008 데이터베이스에서 참조를 업데이트했기 때문에 ProviderManifestToken이 2008로 설정되었습니다. xml 편집기에서 edmx 파일을 열고 값을 2005로 변경하면 문제가 해결되었습니다.

+0

고마워요! 이것은 클래스 - 솔루션을 찾기위한 엉덩이의 고통이었습니다. –

1

은 SSDL는 속성이 무엇이라고 말합니까? 열기가 EDMX는 XML 편집기를 사용하여 파일을

지금 문제가되는 열에 대한 StorageModels 요소 보면 (VS의 하나는 꽤 좋다).

SSDL 섹션의 속성 유형이 EntityFramework가 데이터베이스 열이라고 생각하는 유형입니다. 나는 이것이 DateTime2라고 말할 것입니다. 다시 DateTime과 같은 것으로 변경할 수 있어야합니다.

희망이 그것을 고정

알렉스

+0

안녕하세요. Alex, 감사합니다. 표시되는 유형은 DateTime입니다. 생성 된 SQL은 datetime2를 사용합니다. 우리의 dev db (sql 2008)는 지원하지만 우리의 프로덕션은 아직 업그레이드되지 않았습니다. 아주 가까운 장래에 그 코드가 생산되기를 원합니다 (그러므로, 문제입니다). 어쨌든 2008 대신 SQL Server 2005 매핑을 사용하기 위해 매니페스트 파일을 변경해 보았습니다. 지금까지 성공하지 못했습니다. – Orry