Po prostu chcę zostawić rozwiązanie dla osób mających podobny komunikat o błędzie. Jako link od Vinicius Paiva, to wyjaśnia, że jeśli masz wiele dbcontex w różnych bibliotekach dll, powinieneś odwołać się do pliku DbConfiguration, jeśli utworzyłeś go w swoim kodzie. w moim przypadku miałem projekt lazury odwołujący się do projektu w projekcie DAL, a jedynym sposobem uzyskania projektu funkcji azure jest utworzenie częściowego pliku DbConfiguration na podstawie klasy i kodu.
Więc moje edmx rozszerzenie pliku DbContext z kodem poniżej
namespace myApp.Data.Models
{
[DbConfigurationType(typeof(myDBContextConfig))]
partial class myDBEntities
{
public myDBEntities(string connectionString) : base(connectionString)
{
}
}
public class myDBContextConfig : DbConfiguration
{
public myDBContextConfig()
{
SetProviderServices("System.Data.EntityClient",
SqlProviderServices.Instance);
SetDefaultConnectionFactory(new SqlConnectionFactory());
}
}
}
Ta biblioteka DAL był odwołującego nad projektem MVC, gdzie mieliśmy kolejny edmx instancji. Kiedy uruchomiłem ten projekt, rzuciłem ten wyjątek. Aby to naprawić. musisz rozszerzyć lub dodać węzeł entityFramework jak poniżej w pliku konfiguracyjnym (web.config w tym przypadku)
<entityFramework codeConfigurationType="myApp.Data.Models.myDBContextConfig , myApp.Data">
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
gdzie próbujesz utworzyć instancję kontekstu? – Zippy
W mojej witrynie MVC4. Mam zbiór EF.DLL, który zawiera wszystkie artefakty związane z EntityFramework, w tym klasy DbContext i mam na myśli ten zestaw w moim webaplikacji MVC4. – user2243747
możesz dodać deklarację kontekstu i wywołanie do niej z Global.asax? – Zippy