엔티티 프레임 워크 4.0 : 왜 POCO 객체를 통해 코드 생성 엔터티 오브젝트를 사용합니까?

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

문제

더 빠른 개발 시간 외에도 (Visual Studio 2010 Beta 2는 내가 알고있는 Poco Entity 객체를 구축하기위한 T4 템플릿이 없습니다), 기본적으로 엔터티 프레임 워크가 만드는 기존 엔터티 공장 엔티티를 사용하는 데있어 장점이 있습니까? Microsoft가 Poco 객체를 구축하기위한 T4 템플릿을 제공하는 경우, 왜 누군가가 기존 방법을 사용하고 싶은지 알아 내려고 노력하고 있습니다.

도움이 되었습니까?

해결책

당신은 동시에 두 가지 질문을하고 있습니다. 코드 전용 대 모델 최초 EntityObject 부모 유형 대 임의의 부모 유형. 상위 유형에 관계없이 Model-First에서 디자이너 지원을받습니다. 디자이너 지원 외에도 Model-First와 함께 선행 뷰를 사용할 수도 있습니다. 그것은 성능을 크게 도울 수 있습니다.

was EntityObject 부모는 소위 "Pocos"(일반적으로 "일반"객체가 아닌 프록시베이스입니다)보다 유리할 수 있습니다. 엔터티의 런타임 유형은 런타임 생성 하위 유형이 아닌 정확한 유형이기 때문입니다.

또한 LINQ 지원이 최소화되지 않은 다른 ORM과 달리 엔티티 프레임 워크에는 풍부한 LINQ 지원이있어 프로젝트진짜 Poco 유형. 따라서 기본 유형의 엔티티가 무엇인지 신경 쓰지 않고 진정으로 지속성에 대한 프레젠테이션을 구축 할 수 있습니다. ORM Blackbox에서 나오는 유형에 붙어 있지 않습니다.

EntityObject 데이터베이스에 지속되는 개인 속성을 허용합니다. 프록시 유형을 사용하려면 해당 속성이 최소한 보호되어야하며 가상이어야합니다. 그러므로, EntityObject 더 나은 캡슐화를 허용 할 수 있습니다.

그건 그렇고, 프록시를 사용하는 데는 장점이 없다고 제안하려고하지 않습니다. 나는 단지 장점에 대한 당신의 질문에 대답하려고 노력하고 있습니다. EntityObject 이다.

다른 팁

유일한 이점은 디자이너 지원이라고 생각합니다. 비 코코 엔티티를 사용하는 데있어 다른 혜택을 찾을 수 없습니다.

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