2013-01-08 7 views
7

Mam problem z konfiguracją pliku EDMX, który znajduje się w innym zespole niż w projekcie WWW. Mój projekt wygląda nieco jak poniżej:.NET 4: Jak skonfigurować plik EDMX w innym zestawie w Web.Config

Project 1 
--> Database.edmx 
--> App.Config 

Project 2 
--> Ton's of .cs and .aspx files. 
--> Web.Config with the proper connection string. 

Wewnątrz Visual Studio aktualizację pliku .EDMX wewnątrz projektu 1 idzie gładko i gdy miałem plik .EDMX wewnątrz projektu 2 aplikacja biegł jak to ma.

Ktoś ma pomysł, jak skonfigurować plik .EDMX w projekcie 1, aby wskazać połączenie łańcucha Web.Config? (czy powinienem użyć Project1.dll.config do skonfigurowania Projektu 1?)

Odpowiedz

10

Trzeba zmienić * w ciągu połączenia dla nazwy zespołu, gdzie .edmx pliki są w:

<add name="Entities" connectionString="metadata=res://*/Models.EF.Model.csdl|res://*/Models.EF.Model.ssdl|res://*/Models.EF.Model.msl;provider=System.Data.SqlClient;provider connection ... ;" providerName="System.Data.EntityClient" /> 

dla

<add name="Entities" connectionString="metadata=res://Project2/Models.EF.Model.csdl|res://Project2/Models.EF.Model.ssdl|res://Project2/Models.EF.Model.msl;provider=System.Data.SqlClient;provider connection ... ;" providerName="System.Data.EntityClient" /> 
1

Łatwiejszy sposób to pobranie ciągu połączenia z Web.Config i skopiowanie ich do App.Config i skierowanie połączenia EDMX do tych samych informacji DB. np

<connectionStrings> 
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> 
    <add name="aspnetdbEntities" connectionString="metadata=res://*/Data.PSBData.csdl|res://*/Data.PSBData.ssdl|res://*/Data.PSBData.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\aspnetdb.mdf;integrated security=True;user instance=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

Również należy sprawdzić, czy przestrzenie nazw są poprawne, jeśli zostały przeniesione Database.edmx od projektu do projektu 1 2, co można sprawdzić poprzez otwarcie Database.edmx i kod goto tyłu.

4

Jak się okazało, nie było 2 problemy . Jeden został rozwiązany, zastępując * w łańcuchu połączenia.

Drugim problemem było to opisane tutaj: http://blogs.teamb.com/craigstuntz/2010/08/13/38628/

Miał do czynienia z .csdl ścieżce, .ssdl i pliki .msl miał jako zasoby wewnątrz zespołu Project1

W każdym razie, wszystko działa prawidłowo teraz

Powiązane problemy