엔티티 프레임워크 6에 MySQL 연결을 사용할 수 없습니다.
MySQL에서 엔티티 프레임워크6을 사용하려고 합니다.
비주얼 스튜디오 1.1.1과 MySQL용 MySQL 플러그인을 설치했습니다.네트워크 커넥터 6.8.3
문제는 새로운 ADO를 작성하려고 할 때입니다.NET Entity 모델, 연결에 MySQL을 선택할 수 없습니다.

하지만 비주얼 스튜디오에 있는 연결 도구에서 연결을 만들면 MySQL을 볼 수 있습니다.

즉, 현재 설치된 버전이 엔티티 프레임워크 6과 호환되지 않습니다.최신 커넥터와 플러그인을 설치했는데 어떻게 가능합니까?그 외에 할 일이 있습니까 ?
감사해요.
편집
기본 커넥터를 설치하지 않고 MySQL을 새로 설치하고 6.8.3과 Visual Studio용 플러그인을 설치했습니다.
그러면 엔티티 모델에 대해 설정한 연결을 볼 수 있지만 엔티티 버전을 선택하려고 하면 이 메시지가 나타납니다.

최신 편집
버그는 수정되었습니다.
Chris 코멘트:
2015년 11월 7일에 파일을 편집하거나 이상한 작업을 하지 않고도 모든 작업을 수행할 수 있습니다.MySQL for 윈도우즈 설치 관리자를 사용하고 Visual Studio 지원 및 최신 커넥터를 포함합니다.Net. 설치 후 업데이트하면 각각 최신(1.2.5 및 6.9.8)을 얻을 수 있습니다.NuGet을 사용하여 EntityFramework MySql을 설치합니다.데이터 및 MySql.Data. 엔티티마지막으로 Ado를 추가함으로써 코드 우선 리버스 엔지니어링의 장점을 구축하고 즐길 수 있습니다.넷 엔티티 모델
원답
MySQL에서 버그를 발견했습니다.
VS 2013이 설치된 시스템에서 VS 플러그인(1.1.3 GA) 및 커넥터/Net
단계를 수행하기 전에 모든 VS 인스턴스를 닫으십시오.
Windows 탐색기 창에서 이 경로 또는 Connector/net 이진 파일을 설치한 위치로 이동합니다.
C:\Program Files (x86)\MySQL\MySQL 커넥터 Net 6.8.3\Assemblys\v4.5\
파일을 복사합니다.
MySql.Data.Entity.EF6.dll
그리고 이 폴더에 붙여넣기
C:\Program Files (x86)\Microsoft Visual Studio 12.0\공통7\IDE\프라이빗 어셈블리
덮어쓰라고 하면 덮어쓰세요.
파일을 덮어쓰려면 관리자 권한이 필요합니다.
그런 다음 모델에 대한 스크립트 생성을 다시 시도할 수 있습니다.
이 회피책은 VS 플러그인의 1.1.3 버전을 설치하는 것이 중요합니다.
안타깝게도 이 기능이 작동하지 않기 때문에 엔티티 프레임워크5로 다운그레이드 했습니다.
편집
마지막으로, 이제 작동한다.
다음 3개의 DLL을 추가해야 했습니다.
- C:\Program Files (x86)\MySQL\MySQL 커넥터 Net 6.8.3\어셈블리\v4.5\MySql.Data.dll
- C:\Program Files (x86)\MySQL\MySQL 커넥터 Net 6.8.3\어셈블리\v4.5\MySql.Data.Entity.EF6.dll
- C:\Program Files (x86)\MySQL\MySQL 커넥터 Net 6.8.3\어셈블리\v4.5\MySql.Web.dll
그런 다음 웹 설정의 Entity Framework 부분을 다음과 같이 변경했습니다.
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
잊지 말고 REBUILD를 사용해 엔티티 프레임워크6 모델을 작성할 수 있습니다.
중요한
MySQL for visual studio 1.1.3과 MySQL connector .net 6.8.3이 설치되어 있는지 확인합니다.
2017년 솔루션
Nuget 패키지 설치:
Install-Package EntityFramework
Install-Package MySql.Data.Entity -Version 6.9.9
MySQL for Visual Studio 1.2.6 설치 - https://dev.mysql.com/downloads/windows/visualstudio/
웹의 변경.설정
<EntityFramework>
대상:
<EntityFramework codeConfigurationType = "MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
추가(** 정보 **):
<connectionStrings>
<add name="**YourContextName**" connectionString="server=**xxx.xxx.xxx.xxx**;port=3306;user id=**your user**;password=**your password**;database=**your database**" providerName="MySql.Data.MySqlClient" /></connectionStrings>
**Restart Visual Studio**
설정: ★★★★★★★★★★★★★★★★★★」
2015 - Microsoft Visual Studio 2015
- Dot Net Framework 4.5.2
5 - ASP넷 MVC 5.2.3.0
5. - MySql Server 5.6
이게 아직 문제가 될지 모르겠지만, 위의 해결책들 중 어느 것도 제게는 효과가 없었습니다.내가 이걸 발견하기 전까지는:
http://www.microsoft.com/en-us/download/details.aspx?id=40762
VS2013과 VS2012 모두에 패치를 적용한 후 VS2013이 MySql용 EF6와 원활하게 작동하게 되었습니다.
ps NuGet (NuGet) :
엔티티 프레임워크 - 6.1.3 (2015년 3월 10일)
(24일)MySqlData - 6.9.6 (2015년 2월 24일)
MySql.Data.- (24일) - 6.9.6 (2015년 2월 24일)
- 6 ( 24일) MySql.Web - 6.9.6 (2015년 2월 24일)
NuGet은 작업을 올바르게 수행하고 웹을 업데이트합니다.필요에 따라서, 「entity Framework」섹션에 필요한 정보를 입력합니다.
VS2013의 경우 단순히 "전혀 작동하지 않음"에서 "완전 기능"으로 바뀝니다.VS2012에서는 패치를 적용하기 전에는 사용할 수 없었던 "데이터베이스에서 코드 우선"을 사용할 수 있습니다.
이걸 10일 전에 찾았으면 좋았을 텐데, 그래도 도움이 됐으면 좋겠어요.
MySQL을 재설치하고 Visual studio에 설치된 커넥터 버전을 참조로 사용하는 것은 성공했습니다!
순서:
- 안정적인 최신 MySQL 커넥터를 사용하여 MySQL Tools를 다시 설치합니다.
Visual Studio에서 참조용으로 다음 3개의 파일을 추가합니다.
MySql.Data.dll
- MySql.Data.Entity.EF6.dll
MySql.Web.dll
다음 Web.config를 변경합니다.
<providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers>
수신인:
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
연결 사용자 이름/비밀번호/db 이름이 올바른지 확인하십시오. 그렇지 않으면 Visual Studio가 충돌할 수 있습니다. (저와 함께 발생했습니다.)
저도 같은 문제에 직면해 있었습니다.
1. MySQL for Visual Studio를 설치합니다.
https://dev.mysql.com/downloads/windows/visualstudio/httpsdev.mysql.com/downloads/windows//
MySql2를 합니다. MySql 。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★
MySql3을 합니다. MySql 。의 Data입니다.엔티티 프레임워크
내 sql - http://dev.mysql.com/downloads/connector/net/ 또는 http://dev.mysql.com/downloads/connector/net/에 최신 닷넷 커넥터를 설치하려고 했습니까?
2015-11-07 업데이트
이 버그는 수정되어 NuGet 외부에서 파일을 편집하거나 어셈블리를 참조하지 않고도 모든 작업을 수행할 수 있게 되었습니다.올바른 것을 설치하고 적절한 NuGet 패키지를 추가하기만 하면 됩니다.방법은 다음과 같습니다.
MySQL for 윈도우즈 설치 관리자를 사용하고 Visual Studio 지원 및 최신 커넥터를 포함합니다.Net. 설치 후 업데이트하면 각각 최신(1.2.5 및 6.9.8)을 얻을 수 있습니다.
그런 다음 NuGet을 사용하여 EntityFramework MySql을 설치합니다.데이터 및 MySql.Data. 엔티티
마지막으로 Ado를 추가하여 코드 우선 리버스 엔지니어링의 장점을 구축하고 즐기십시오.넷 엔티티 모델
나는 이것을 mySQL Bucktracker에서 찾았다.
다음의 회피책을 시험해 보겠습니다.
MySQL DB에서 다음 명령을 실행한 후 작동 여부를 시도하십시오.
set global optimizer_switch='derived_switch=off'
다음 어셈블리도 추가했습니다.
- Nuget 패키지로서의 EF6
- MySQL.Data
- MySql.Data.Entity.EF6.dll
- MySQL.Web(꼭 필요한지는 잘 모르겠습니다)
MySql EF6 공급자를 찾거나 로드하는 문제로 GUI 프로젝트를 실행할 수 없는 경우 다중 프로젝트 솔루션을 사용하는 모든 사용자를 위한 참고 사항:
ADO에 대한 엔티티 프레임워크 제공자를 찾을 수 없습니다.이름이 'MySql'인 NET 제공자입니다.Data.(...)" 응용 프로그램 구성 파일의 'entityFramework' 섹션에 공급자가 등록되어 있는지 확인하십시오.자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=260882 를 참조해 주세요.
이 질문을 보세요.
SqlServer에 관한 문제이지만 DB 조작을 처리하는 프로젝트가 1개뿐이라면 Nuget References를 에 추가했을 가능성이 높습니다.MySql.Data그리고.MySql.Data.Entity그리고.EntityFramework할 수 있을 것 같아요.부터MySql.Data그리고.EntityFramework코드에 의해 직접 사용되며 빌드 프로세스는 그것들을 출력 폴더에 복사하고 GUI 프로젝트의 출력 폴더에도 두 번째로 복사할 수 있을 정도로 스마트합니다.
하지만, 그 이후로는MySql.Data.Entity에 의해서만 참조됩니다.app.config또는web.config 텍스트 파일, 빌드 프로세스에서는 이 참조가 불필요하다고 생각하고(코드는 사용하지 않습니다!) 삭제하면 표시되지 않습니다.MySql.Data.Entity.EF6.dllGUI 프로젝트 출력 dir에 의해 GUI 프로젝트가 해당 공급자를 찾을 수 없게 됩니다.
따라서 두 가지 옵션 - 빌드 프로세스의 일부로 DLL을 복사하거나(예: 빌드 전/후 이벤트, 배포 패키지 작성기, CI 작업, 휴먼 작업 등) DB/EF6 프로젝트의 어셈블리를 직접 참조할 수 있습니다.
파티에 늦은 거 알아.근데 Visual Studio 2019에서도 같은 문제가 있었어요.MySql Connector와 MySql for Visual Studio를 설치하려고 했지만 작동하지 않았습니다.
나에게 효과가 있었던 것은
- MySql for Visual Studio 버전 2.0.5의 개발 버전을 설치했습니다. (제가 언급한 링크를 사용하고 있다면 개발 릴리스를 클릭하는 것을 잊지 마십시오.)
- 다음 nuget 패키지를 설치했습니다.
MySql.Data.EntityFramework일반적으로 다음과 같은 많은 다른 패키지를 설치합니다.MySql.Data,mysql.sata.entity.EF6기타. - 커넥터/NET 8.0.26을 설치했습니다.
윈도우 폼 어플리케이션과 함께 Visual Studio 2019와 EF6를 사용하고 있습니다.커넥터/NET 8.0.26
언급URL : https://stackoverflow.com/questions/21206184/cant-use-a-mysql-connection-for-entity-framework-6
'programing' 카테고리의 다른 글
| 권장되지 않는 Java Http Client - 얼마나 어렵습니까? (0) | 2022.11.10 |
|---|---|
| vuej의 tslint 오류를 자동 수정하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
| 두 날짜의 차이를 어떻게 구합니까? (0) | 2022.11.05 |
| Java에서의 Log4J 출력 디세이블화 (0) | 2022.11.05 |
| MariaDB가 시작되지 않음: "플러그인 'FEEDB'ACK'는 디세이블입니다. (0) | 2022.11.05 |