본문 바로가기
개발/Database

Entity Framework에서 MySQL 접속하기 -2

by ispie 2019. 1. 23.

Entity Framework에서 MySQL 접속하기 의 보충적인 내용입니다.

 

신규 프로젝트 작성 ~ DB 모델의 추가까지의 이미지

※ DB는 WordPress의 테이블들이 있는 MySQL DB입니다.

 

 

1. Install-Package EntityFramework

 

 

 

2. Install-Package MySql.Data

 

 

 

3. Install-Package MySql.Data.Entity

 

 

 

4. Install-Package MySql.Web

 

 

 

5. Edit Web.config

 

 

<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
  <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>

 

6. Clean & Build

 

7. Make ADO.NET Entity Data Model

 

 

 

 

 

 

 

 

 

그외의 예외상황 해결방법

 

 

1. 날짜 변환시에 에러가 발생할 경우


MySQL에서 System.DateTime의 값을 취득할 경우에 하기의 에러가 발생하는 경우가 있습니다.

Unable to convert MySQL date/time value to System.DateTime

해결 방법

하기의 내용을 connectionStrings에 추가합니다.

  <connectionStrings>
    <add name="WPlocalEntities" connectionString="metadata=res://*/WPlocalModel.csdl|res://*/WPlocalModel.ssdl|res://*/WPlocalModel.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;password=root;Charset=utf8;Convert Zero Datetime=True;persistsecurityinfo=True;database=wp-01"" providerName="System.Data.EntityClient" />
  </connectionStrings>

 

2. 선택 가능한 데이터 소스의 일람에 MySQL Database이 표시 되지 않는 경우

 

Visual Studio 2015のMySQL Database의 추가 방법

 

 

 

References 에 아래의 3개의 패키지를 추가합니다(기존에 이미 인스톨 되어 있을 경우엔 언인스톨 한 후-> 재 인스톨)

 

https://www.nuget.org/packages/MySql.Data/
https://www.nuget.org/packages/MySql.Data.Entity/
https://www.nuget.org/packages/MySql.Web/

 

 

 

App.config의 의 내용을 수정합니다. 기존의 내용은 코멘트 아웃 시키고 하기 참고 사이트에 있는 내용을 적용시킵니다.

http://stackoverflow.com/questions/22031269/enable-entity-framework-6-for-mysql-c-in-winforms-of-microsoft-visual-studio

 

 

 

 

선택 가능한 Data Source에 MYSQL Database가 표시되는걸 확인할 수 있습니다.

 

 

 

3. [Choose Your Data Connection]에서 [Choose Your Database Objects and Settings]로 넘어 가려고 하면 갑자기 화면이 닫히는 현상이 발생할 경우


MySQL Installer의 Connector/ODBC이 영향을 끼치고 있을 가능성이 높으므로 ODBC를 언인스톨 한 다음 재 인스톨 하면 멀쩡해 지는 경우가 있습니다...

 

 

4. 일본어 문자 깨짐 방지

 

DB의 Character-set를 utf-8로 변경합니다.

접속 문자열에 「Charset=utf8;」이 없을 경우 일본어가 깨지기 때문에 아래와 같이 추가합니다.

 

<add name="WPlocalEntities" connectionString="metadata=res://*/WPlocalModel.csdl|res://*/WPlocalModel.ssdl|res://*/WPlocalModel.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;password=root;Charset=utf8;persistsecurityinfo=True;database=wp-01"" providerName="System.Data.EntityClient" />

 

원글 작성일  2017-02-24

댓글