2013-05-25 2 views
28

EF5를 EF6으로 바꿔 봅니다. 많은 코드에서 타입 참조 오류가 발생했습니다. System.Data.Objects를 System.Data.Entity.Core.Objects로 대체해야합니까?EF5에서 EF6으로 업그레이드 할 때 System.Data.Objects를 대체해야합니까?

[업데이트] 또한 System.Data.EntityState를 System.Data.Entity.EntityState로 바꿉니 까?

+5

[ "네임 스페이스 변경에 대한 일반적인 규칙은 System.Data 어떤 유형 * System.Data.Entity.Core로 이동 *된다는 점이다에서... 다른 말로하면 System.Data 뒤에 Entity.Core를 삽입하십시오. "] (http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6) –

+0

EF6은 여전히 Alpha에서는 프로덕션 용도로 사용 허가되지 않았습니다. –

+1

@TiesonT. 좋은 지적. "최종 RTM은 차기 버전의 Visual Studio (날짜가 없습니다)와 함께 제공됩니다. RTM 날짜에 관계없이 올해 말에 go-live 라이센스로 출시 할 예정입니다." –

답변

25

the updating guide에서 인용;

네임 스페이스 변경의 일반적인 규칙은 System.Data.. *의 모든 형식이 System.Data.Entity.Core. *로 이동된다는 것입니다. 즉, Entity.Core를 삽입하기 만하면됩니다. System.Data 뒤에.

즉, 새 네임 스페이스에 대한 참조를 업데이트해야합니다.

+2

EF6 용 NuGet 패키지가 자동으로이 작업을 수행 한 것으로 보입니다 (오류 없음). –

18

예 ... 당신은 다음과 같이 귀하의 참조를 업데이트해야합니다

System.Data.Objects -> System.Data.Entity.Core.Objects 
System.Data.EntityState -> System.Data.Entity.EntityState 
+0

고마워요! 처음부터 EF6를 사용하여 새 MVC5 프로젝트에서 왜 이것을 변경해야하는지 알고 있습니까? 즉, 어떻게 또는 왜 이런 일이 발생합니까? – stink

+4

Microsoft는 내가 가정 한 네임 스페이스를 재구성하기로 결정했습니다. –

6

또 하나의 변화는 DbGeography 사용하는 경우 :

System.Data.Objects  =>  System.Data.Entity.Core.Objects 
System.Data.EntityState =>  System.Data.Entity.EntityState 
System.Data.Spatial.DbGeography => System.Data.Entity.Spatial.DbGeography 
관련 문제