Visual Studio에서 Entity Framework를 사용할 때 MSSQL만 사용했었기에 그 편리함만 가지고 시작한 작업인데...
사흘이 넘게 삽질을 하게 될 줄이야.
증상은 이랬다.
Entity Framework 버전을 선택하는 창이 그냥 사라지는 거다.
위 그림은 창이 사라지는 중에 갈무리했다.
아니면 버전이 맞지 않다고 경고가 나오거나.
검색을 해 보니 종종 이런 증상을 겪는 사람들이 있는데
하라는 대로 해 봐도 도통 해결이 되지 않았다.
사흘을 삽질하고, 집에서 이런저런 궁리를 해 보니 다 지우고
MySQL Connector에 있는 DLL로만 하면 버전이 안 맞는 문제가 해결되지 않을까 하는 생각이 들었다.
아침에 출근하자마자 시도해 봤는데, 실패 실패 또 실패
마지막 시도에서 드디어 성공.
기본적으로 깔려 있어야 하는 것들
MySQL Connector Net 버전이 최신 버전이 아니어서 해결된 것일 수도...
현재 최신 버전은 mysql-connector-net-8.0.11
Entity Framework 버전은 5.0
6.0 지원이라고 쓰여 있는데 뭐가 안 맞는 건지 창이 사라지거나 버전이 맞지 않다고 경고문 뜸
NuGet을 쓰지 않고 수동으로 참조를 추가한다.
기존에 MySQL 관련 참조를 추가했으면 삭제(NuGet으로 추가했으면 NuGet으로 삭제)한다.
풍선도움말에 보이듯이 4.5버전을 지원하는 DLL을 사용했다.
총 3개(모두 같은 경로)가 있는데, EF 5.0을 지원하는 DLL까지만 참조 추가하니까 문제가 여전했다.
EF 6.0을 지원하는 DLL까지 추가하니까, EF 5.0으로 성공.
참조를 추가했으면 [추가] - [새 항목]을 눌러서 모델을 생성한다.
여러 다른 게시물들에서도 볼 수 있는 흔해 빠진 화면이다.
Code First는 왠지 어색하고 거북해서, 난 DB를 먼저 만드는 편이다.
만들면서 기본키, 외래키, 관계까지 다 적용한다.
Code First로 그런 걸 다 하려면 DB로 하는 것보다 귀찮을 것 같아서...
연결에 관한 건 보안 문제로 삭제
첫 그림에서 나왔던 그 창인데 안 사라지고 있다.
경고문이 떠 있지만 다음을 눌러도 창이 사라지지 않는다.
EF 6.0으로 하면 이 창이 안 사라지더라도, 다음을 눌렀을 때 창이 사라진다.
MSSQL에 연결할 때에 비해 속도는 좀 느리지만
정상적으로 모델을 생성한다.
여기서 마침을 누르면 몇몇 테이블이 없다고 경고창이 뜨기도 하는데 최종 결과물에서는 제대로 나와 있었다.
이상 혹시 나랑 비슷한 경험을 하는 사람에게 도움이 되기를 바라며...
'쓸만한 주저리' 카테고리의 다른 글
서울페이 좋네 (0) | 2018.08.03 |
---|---|
학교에서 배운 용어들이 바뀌었다는데... (0) | 2018.07.31 |
JAVA SE 유료화 (0) | 2018.04.27 |
대항해의 길 끝없는 꿈 (1) | 2018.04.26 |
전기자전거도 이제 자전거로 분류됩니다. 일부만. (0) | 2018.04.26 |