2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

[C#] EntityFramework6 for NpgSQL을 이용해서 edmx생성하기




l  결론
VS2017&2019 + .NET Framework 4.6.14.7.1도 가능 + Entity Framework 6.2.0 + Npgsql 4.0.7의 조합으로 PostgreSQL 9.6 서버에 접속 후Entity Data Model의 위자드를 사용하여 기존에 있던 데이터베이스를 참조해서 edmx 모델을 생성하는데 성공함. NuGet 패키지메니저를 사용해서 필요한 라이브러리를 참조추가 & NpgSQL의 vsix 패키지를 이용해서 ADO.NET의 Entity Data Model에 Provider 항목에 PostgreSQL을 추가하면 사용가능함. 모델클래스와 소스코드의 편집과 수정에 대한 확인은 하지 않았음.

l  테스트 환경(전부 일본어 환경임..ㅠㅠ)
Ø  Visual Studio 2019.NET Framework 4.6.1
Ø  Entity Framework 6.2.0Entity Framework for Npgsql 3.2.1.1
Ø  PostgreSQL 9.6+pgAdmin 3

l  작업순서 및 내용
     솔루션탐색기의 프로젝트명에서 오른쪽 클릭 후, 서브메뉴에서 「追加」⇒「新しい項目」를 선택한다.

     새로운 항목추가 화면에서 아이템리스트에서 「データ」를 선택 후, 항목리스트에서 「ADO.NET Entity Data Model」을 선택한 후 이름을 입력하고 「追加」버튼을 클릭한다.

      Entity Data Model 위자드(한국어판은 마법사??)가 표시되면 「データベースからEF Designer」를 선택하고 「次へ」버튼을 클릭한다.

     데이터접속선택화면이 표시된다. 「新しい接続」버튼을 선택한다.

     데이터소스 선택화면에서 항목리스트에 있는 「その他」를 선택한 후 「続行」버튼을 클릭한다. 경우에 따라서는 추가로 라이브러리를 설치해야 하는 경우가 있다. 아래의 ⑥-⑨번 항목은 추가 라이브러리를 필요로 하는 경우를 가정하서 설명한다. 만약에 필요없는 경우라면 ⑩번 항목으로 바로 넘어가도 무방함.
     VS를 일단 종료한 후, VS의 확장기능을 추가한다. 아래의 링크로부터 Npgsql v4.0.7용 vsixVS기능확장파일)파일을 다운로드한 후, 더블클릭해서 실행한다. 옵션에서 사용중인 Visual Studio 를 선택하면 자동으로 인스톨 된다.
*visx 파일은 공식적으로 
2017까지 지원2019에 대한 호환성은 아직 불명확한듯??
https://github.com/npgsql/npgsql/releases


     VS을 재기동하고 솔루션탐색기에서 프로젝트명을 오른쪽 클릭 후, 「追加」⇒「新しい項目」을 선택하면 추가화면이 표시된다. Visual C# 아이템리스트에서 데이터를 선택하고 ADO.NET Entity Data Model」항목을 다시 선택하고 이름을 입력한 후 「追加」버튼을 누른다.

     Entity Data Model 마법사가 표시되면、「データベースからEF Designer」를 선택한 후 「次へ」버튼을 클릭한다.

     데이터접속선택 화면에서「新しい接続」버튼을 클릭 후, 데이터베이서 선택화면에서 「PostgreSQL Database」을 선택, 「続行」버튼을 누른다.


     접속 프로퍼티에 서버의 접속정보를 입력하고 OK」버튼을 클릭한다.

     접속문자열이 자동으로 생성되며 접속준비상태가 된다. 필요에 따라서 옵션을 선택한 후 「次へ」버튼을 클릭한다.


    데이터베이스객체 및 설정선택 화면이 표시된다. 필요한 객체나 옵션을 선택한 후 「完了」버튼을 클릭한다.


     솔루션탐색기에 설정한 이름.edmx 파일이 자동으로 생성되며 데이터모델다이어그램이 표시된다.

l  고찰 및 메모
작성은 했는데 결국 db의 함수에서 에러가 나거나, 자동생성 소스를 수정하면 헬...ㅠㅠ
일본어이긴 한데, 위자드 없이 코딩으로 하는 방법도 있음. 해 봤는데 성공은 했으나...
사용법을 아직 잘 몰라서 문제임.
l 참고링크

댓글

  1. 2019/12/16 일 작성

    코드퍼스트(code-first) 로 자동작성하는 방법. 포스팅 하려고 했는데 열도 나고 귀찮아서...ㅠ
    방법은 간단함.
    우선 DB에 테이블 등 셋팅한 후, 위와 동일하게 진행하지만 ③단계에서 맨 오른쪽의 코드퍼스트 항목을 선택하면 됨, 다른 것은 위와 동일함.
    생성하면 각 테이블 별로 모델이 자동생성되고, 그걸 통합관리하는 모델이 생성됨.
    생성된 모델을 가지고 DB 작업을 진행하면 되는 듯.
    비슷한 내용의 포스팅은 아래 링크 참조, EF6 및 LINQ 사용법은 추후 정리하자..상태가 메롱 ㅠ

    https://www.ipentec.com/document/csharp-entity-framework-create-entity-data-model-coce-first

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법