entityframework core
-
[EF Core] 여러 프로젝트가 참조된 솔루션에서 dotnet ef 명령어 사용시 유의사항정리.NET/개념 및 유용한 팁 2021. 8. 31. 22:22
CleanArchitecture까진 필요없고, 단일 프로젝트 형식은 테스트 케이스 개발에 불편함이 있어 별도 프로젝트 템플릿을 구현하고 있다. 구현하면서 Entity Framework Core를 이용해 Code First 방식으로 DB를 마이그레이션 하는 방법을 다루게 되었는데 뻘짓을 많이 하여 리스트로 정리할겸 포스트를 쓴다. 1. 시작프로젝트에 Microsoft.EntityFrameworkCore.Tools Nuget 패키지가 설치되어 있어야 한다. 설치가 안되어있을 경우, 아래와 같은 오류가 나온다. Your startup project 'Template.WebApi' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is r..
-
[EntityFrameWork Core] The instance of entity type cannot be tracked 오류 발생시 해결방안.NET/개념 및 유용한 팁 2021. 3. 27. 13:52
개발 중 이런 오류가 발생했다. The instance of entity type 'masterTbl' cannot be tracked because another instance with the same key value for {'idx', 'seq'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values. EFCore에서 검색한 객체를 T..
-
[EntityFramework Core] dbContext 여러 번 사용시 유의사항 (feat. Dbset 프로퍼티 데이터 불일치 현상).NET/개념 및 유용한 팁 2021. 3. 6. 11:52
회사에서 솔루션 개발중 겪은 뻘짓이 있어 기록한다. 현재 메일발송 서비스를 개발중에 있는데, 기존 DB와 신규 서비스의 DB 구조가 달라 호환을 위해 완료된 데이터를 기존 DB에도 입력하는 기능을 구현했다. 신규 DB에서 완료된 조건에 일치하는 데이터만 Where() 함수를 통해 가져와서 기존 DB에 Insert하는 작업인데, 조건에 부합되는 항목들을 Insert 하려니 "발송대기" 상태인 초기값으로 나온다. Worker Service Task 를 여러 개 사용하는 구조인데, Task는 각각 역할이 정해져있으며, ConcurrentQueue를 통해 데이터를 단방향으로 처리하기 때문에 스레드에 의한 데이터 불일치 현상이 일어나는 구조는 아니다. 설명이 어려우니 재현을 위해 소스코드를 준비해보겠다. .NET..
-
[EntityFramework Core] The database provider attempted to register an implementation of the 'IRelationalTypeMappingSource' service 오류가 나올때 확인사항.NET/개념 및 유용한 팁 2021. 2. 18. 21:40
현재 개발중인 닷넷 코어기반 Worker 서비스에서 MySQL을 이용하기위해 EntityFrameworkCore + Pomelo.EntityFramework.MySql 조합으로 Nuget 패키지를 구성했다. EFCorePowerTools를 이용해서 자동 생성해서 구축했기 때문에 큰 문제가 없을 줄 알았는데, 아래와 같은 오류가 표시되었다. Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. 지정된 파일을 찾을 수 없습니다. dll을 찾을 수 없다는 오류였기 때문에 Nuget 패키지에서 해당 DLL을 찾아 설치했다. 그랬더니..
-
[Visual Studio] 에서 EntityFramework Core를 쉽게 쓸 수 있는 유용한 툴 (EFCorePowerTools)ETC 2021. 2. 17. 20:41
.NET Framework 프로젝트와 달리, .NET Core 및 .NET에선 Visual Studio의 Entity Framework 모델 생성 메뉴가 존재하지 않는다. (어쩌면 차기버전에선 생길 지도 모른다) 어쩔 수 없이 cmd 명령어를 이용해서 DB 테이블을 모델화시켜야하나 싶던 중 Youtube의 공식 dotNET 채널에서 EFCorePowerTools를 소개해주어 설치하게 되었다. www.youtube.com/watch?v=uph-AGyOd8c&t=1s 설치는 아래 링크에서 확인가능하다. marketplace.visualstudio.com/items?itemName=ErikEJ.EFCorePowerTools EF Core Power Tools - Visual Studio Marketplace ..