2014-03-19 2 views
1

간단한 샘플 코드를 실행하려고하는 EF 6.1을 사용하고 있습니다.
실수로 System.Data.Linq.Mapping (VS Intellisense) 네임 스페이스를 사용하여 TableAttribute 이름 매개 변수가 아무런 효과가 없다는 것을 알았습니다. 코드는 실행될 때 POCO 클래스 이름이 테이블 이름과 다르기 때문에 새 테이블을 만들었습니다. 그러나 기존 테이블을 사용할 것으로 예상되었습니다. 인터넷 검색이 거의 끝난 후 일부 공간에서 System.ComponentModel.DataAnnotation 네임 스페이스가 사용 된 것으로 나타났습니다. 이 변경 작업을 수행 할 때 샘플은 기존 테이블을 작성하기보다는이를 사용하기 시작했습니다. 나는System.Data.Linq.Mapping 및 System.ComponentModel.DataAnnotations.Schema의 TableAttribute 클래스 간의 차이점

  • 이 두 네임 스페이스에 TableAttribute 클래스의 차이점은 무엇을 알고 싶습니다?

  • System.Data.Linq.Mapping의 TableAttribute가 예상되는 동작을 나타내지 않는 이유는 무엇입니까?

답변

4
  • System.Data.Linq.Mapping.TableAttribute는 엔티티에 LINQ에 속한다.
  • Entity Framework는 다음을 사용합니다. System.ComponentModel.DataAnnotation.TableAttribute
관련 문제