2012-03-01 3 views
3

저는 Entity Framework를 사용하는 DB 첫 번째 방법을 사용하고 있습니다.이 글은 POCO In EF에 대해 방금 읽었습니다. 지금 : 어떻게 데이터베이스에서 직접 POCO 템플릿을 생성 할 수 있습니까?데이터베이스 우선 + EF + POCO; T4 코드 생성?

  • 가 더불어 ObjectContext에 각 테이블에 대해 각을 ObjectSet 추가 : 사실

    namespace My.Domain 
    { 
        public class Entity 
        { 
         public virtual long EntityId { get; set; } 
         public virtual string Example { get; set; } 
         public virtual long NextId { get; set; } 
         public virtual bool Lame { get; set; } 
        } 
    } 
    

    난 그냥 한 번에, 내가 수동으로 생성 같은 물건을 생성 할 수있을 아주 많이 좋아하는 것 필드, 속성 가져 오기 도구 및 생성 기능입니다.

  • 엔터티를 생성하십시오. 다른 프로젝트에서 관계를 비롯한 모든 속성 매핑, 프록시를 사용하도록 가상으로 표시된 속성 및 분명히 선택한 네임 스페이스에있는 엔터티를 만듭니다.

T4 템플릿을 사용하여이를 수행하는 "간단한"방법이 있습니까? 아니면이 기능을 수행하는 데 사용할 수있는 다른 도구가 있습니까? 아마도 EF와 함께 제공되는 Custom Tool 대신에 일종의 POCO -oriented일까요?

+0

사용중인 EF 버전은 무엇입니까? EF4 인 경우 POCO T4가있는 확장 프로그램을 가져와야합니다. 4.1 이상인 경우에는 대부분이 내장되어 있습니다. –

+0

나는'4.1'을 믿습니다. 그리고 이것이 정확히 어떻게 "내장"되어 있습니까? – bevacqua

+0

생성되는 것에 대한 제어를 원한다면 여기에 설명 된 방법 중 하나를 사용하십시오. http://stackoverflow.com/a/8107292/418488 – FuleSnabel

답변

2

EF 4.1을 사용하는 한 생성 된 POCO 개체를 가져 오는 것은 "기본 제공"입니다. 이 문서를 참조하십시오 :

http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx

, 단지 돼지는 첫 번째 방법은 제안의 더 다시

http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

에서 볼 수있는 나이가 더 장황한 방식이었다 방법은 지금이지만, 나는 또한 당신에게 어쨌든 더 오래된 것을 줄 것이라고 생각했다. :)

희망에 따라, 이것은 당신의 필요에 맞았다. :) 지정된 네임 스페이스 및 프로젝트에서 생성하는 것에 대해 확신하지 못합니다. 코드 우선 (Code First)처럼 들릴 수도 있지만 (데이터베이스에 완벽하게 연결할 수는 있겠는가?), 생성 항목을 마음껏 사용할 수는있다. 이것은의 네임 스페이스에 분명히

0

관계를 포함한 모든 속성 매핑으로, 양호하게는 다른 프로젝트에, POCO 엔티티를 생성하지만 속성이 프록시를 사용하도록 가상으로 표시하여, 올바른 방향으로 푸시, 그리고해야 내 선택.

구성 및 EDMX 파일이 필요하므로 Entity Framework 기본 템플릿을 별도의 어셈블리에 배치 할 수 없습니다.

T4 템플릿을 사용하여이를 수행하는 "간단한"방법이 있습니까? 아니면이 용도로 사용할 수있는 다른 도구가 있습니까?

, 엔티티 인터페이스 생성기

https://entityinterfacegenerator.codeplex.com

이 프로젝트 인터페이스를 생성하고 DbContext 클래스와 개체 클래스의 속성을 수있는 사용자 정의 T4 템플릿이 포함되어 있습니다.

관련 문제