Ich versuche, ein Projekt in C# mit WPF als meine Front-End und EntityFramework/MySql als meine backed, aber ich kann nicht meinen Code, um sogar eine Verbindung zu meiner DB.C# WPF mit MySql und EntityFramework
Die Struktur meines Projekts ist wie folgt:
- Modelle
- Data Layer Framework (Repository-Schnittstellen, UnitOfWork Schnittstelle, etc.)
- EntityFramework/MySql
- Dienstleistungen
- UI (Ich möchte meine Verbindungszeichenfolgen hier)
Ich habe den .NET-Connector von Oracle installiert, und ich habe eine Reihe verschiedener Nuget-Pakete ausprobiert, aber immer, wenn mein Code versucht, irgendetwas in der EntityFramework/MySq-Ebene zu tun, erhalte ich eine Ausnahme.
Zur Zeit habe ich die folgenden Nuget Pakete installiert:
- Entity Framework
- MySql.Data
- MySql.Data.Entity
Die app.config in mein EntityFramework/MySq Schicht ist wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity"/>
</providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.9.8.0" newVersion="6.9.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"></remove>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.2.0"/>
</DbProviderFactories>
</system.data>
</configuration>
Und die app.config in meiner UI-Ebene ist wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="VolunteerDb" connectionString="server=localhost;user id=root;password=mypass;database=mydb" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.9.8.0" newVersion="6.9.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Und wenn ich versuche, die DB in meinem Repository zu laufen und greife ich auf die folgende Ausnahme erhalten:
Zusätzliche Informationen: Konnte Datei oder Assembly 'MySql.Data, Version = 6.9.8.0, Culture = Neutral, PublicKeyToken = C5687fc88969c44d' oder einer seiner Abhängigkeiten nicht laden. Die manifest Definition befindet Assembly nicht die Baugruppe
Referenz entsprechen
Was muss ich tun, um EntityFramework Arbeit mit MySql zu bekommen? Jede Hilfe dazu wäre willkommen!
bearbeiten
Hier ist, was die packages.config wie folgt aussieht:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net45" />
<package id="Google.ProtocolBuffers" version="2.4.1.555" targetFramework="net45" />
<package id="MySql.Data" version="7.0.2-DMR" targetFramework="net45" />
<package id="MySql.Data.Entity" version="7.0.2-DMR" targetFramework="net45" />
</packages>
könnten Sie Ihre packages.config in Ihre Frage aufnehmen? – chandler