본문 바로가기

C#7

configurationBuilder() 에서 SetBasePath 찾을 수 없는 경우 .NET CORE 로 설정 정보 Configuration 파일을 가져오는데, 다른 프로젝트의 소스를 그대로 복사했다가 빌드가 안되는 이상현상을 발견해서 해당 내용을 공유합니다. 일반적으로 .NET CORE 에서는 설정 정보를 appsettings.json 파일을 이용해서 처리하는 것을 권장하고 있습니다. 그것을 불러올 때는 주로 IConfiguration , ConfigurationBuilder 등의 클래스를 이용하게 되는데요. 이번 케이스는 ConfigurationBuilder를 사용시에 파일의 기본 위치를 지정하는 SetBasePath 라는 함수를 찾지 못하는 경우가 있었습니다. 문제는 복사하기 이전, 이후 모두 동일한 코드를 사용했다는 것이고 참조하고 있는 패키지도 모두 동일했다는 점입니다. var.. 2024. 4. 9.
EntitiyFramework Core CodeFirst 로 데이터베이스 생성하기 데이터베이스를 사용할 때 매번 코드에서 데이터를 정의하고, DBMS에서 데이터베이스를 생성하는 작업을 여러 번 하는 것은 상당히 불편한 작업입니다. 이번에는 간단하게 EntityFramework Core 에서 Code로만 소스를 작성하고 DB를 커맨드로 생성하는 방법을 공유드리려고 합니다. 완전히 Code에서 생성하는 방법을 택할 수도 있지만, 여기에서 소개하는 방법은 Code로 데이터베이스에 들어갈 테이블 / 컬럼 등을 작성한 후에 커맨드를 입력해서 데이터베이스를 생성하고, 실제 동작하는 코드 상에서 Create Table 하는 코드는 들어가 있지는 않은 방식입니다. 실제 이 포스팅에서 공유하는 데이터는 작성일 기준 최신 LTS 버전인 .NET 8.0 과 EF Core6를 Visual Studio를 사.. 2024. 4. 9.
US7ASCII로 저장된 한글 데이터 깨짐 해결 방법 (c#) 오래된 프로젝트와 연동할 일이 있다면, 한 번 씩 부딪힐 수 있는 문제가 오라클에서 US7ASCII로 한글을 저장해놓은 경우일 겁니다. 일반적으로 우리가 사용하는 로컬 컴퓨터 및 서버는 설정이 한글이라서 데이터를 새로 마이그레이션하거나, 아니면 조회할 때 데이터를 잘 가져와야합니다. 하지만, DB에서 직접 볼 때 뿐만 아니라 실제 프로그래밍 언어에서 DB를 조회하는 경우 일반적으로 처리하게 된다면 이미 깨진 상태의 값들만을 보게 된다는 것이 문제입니다. 여러 프로젝트를 동시에 하고 있을 수도 있는데 OS나 DB의 기존 설정을 바꾸는 것은 생각지못한 위험이 있을 수 있습니다. 그래서 간단하게 처리할 수 있는 방법은 2단계에 걸쳐서 처리하는 방법입니다. (1) DB에서 문자열 데이터를 바이너리 값으로 바꾸어.. 2022. 8. 8.