2017-04-03 3 views
0

Ich habe eine Web-API-Anwendung, die eine DAL-Bibliothek aufruft. Die DAL-Bibliothek interagiert über Entity Framework mit einer SQL-Datenbank. Jetzt muss ich die Verbindungszeichenfolge zu der Datenbank in dem Web-API-Projekt festlegen. Dies erfordert, dass ich EF auch im Web-API-Projekt installiere. Gibt es eine Möglichkeit, die Verbindungszeichenfolge im Web-API-Projekt festzulegen, ohne EF installieren zu müssen?Aufruf von DAL, das Entity Framework verwendet

+1

Eine Lösung besteht darin, die EF-Konfiguration in der Web-Konfigurationsdatei hinzuzufügen und dann einfach auf die EF-DLLs aus dem DAL-Projekt in Ihrem Web-API-Projekt zu verweisen. –

+0

Ja, ich hatte gehofft, das zu vermeiden. –

Antwort

0

Ich verwende die gleiche Verbindungszeichenfolge von EF in meinem Web-API-Projekt. Ich referenzierte die EntityFramework.SqlServer.dll im Web-API-Projekt. Und jetzt funktioniert es.

0

Sie können den DbContext umbrechen, damit das DAL-Projekt keine EF-bezogenen Komponenten freigibt. Dadurch verhindern Sie EF nicht installieren müssen, um in jedes Projekt, das Sie das DAL-Projekt in der Referenz.

public class DataContextWrapper : IDisposable { 
    public DataContextWrapper() { 
     DataContext = new DataContext(); 
    } 

    internal DataContext DataContext { get; private set; } 

    public void Dispose() { 
     DataContext.Dispose(); 
    } 
} 

Solange Ihre Repositories etc. auch im DAL-Projekt und sie nicht zurück Datenbank Einheiten, sondern Modelle, es wird dir gut gehen.

+0

Danke. Genau das habe ich getan. Wie sollte die Verbindungszeichenfolge im Web-API-Projekt aussehen? –

+0

Weitere Informationen zur Konfiguration finden Sie unter folgendem Link: https://msdn.microsoft.com/en-us/library/jj556606(v=vs.113).aspx – Viezevingertjes

Verwandte Themen