Właśnie utworzyłem formant użytkownika. Ta kontrolka używa także mojej statycznej klasy Entity Framework do załadowania dwóch comboboxów. Wszystko jest dobrze i działa bez problemu. Projekt i środowisko wykonawcze działają. Następnie, po zatrzymaniu aplikacji, wszystkie formularze, które zawierają mój UserControl, nie działają już w czasie projektowania. Właśnie widzę dwa błędy:EF w UserControl nie widać app.config?
Błąd 1: Określone nazwane połączenie nie znajduje się w konfiguracji, nie jest przeznaczone do użycia z dostawcą EntityClient lub jest niepoprawne.
Błąd 2: Zmienna ccArtikelVelden
jest niezadeklarowana lub nigdy nie została przypisana. (ccArtikelVelde jest mój UserControl
)
Runtime wszystko nadal pracuje
Moja statyczna klasa EF Repositoy:
public class BSManagerData
{
private static BSManagerEntities _entities;
public static BSManagerEntities Entities
{
get
{
if (_entities == null)
_entities = new BSManagerEntities();
return _entities;
}
set
{
_entities = value;
}
}
}
Niektóre logika dzieje w moim UserControl aby załadować dane w comboboxes:
private void LaadCbx()
{
cbxCategorie.DataSource = (from c in BSManagerData.Entities.Categories
select c).ToList();
cbxCategorie.DisplayMember = "Naam";
cbxCategorie.ValueMember = "Id";
}
private void cbxCategorie_SelectedIndexChanged(object sender, EventArgs e)
{
cbxFabrikant.DataSource = from f in BSManagerData.Entities.Fabrikants
where f.Categorie.Id == ((Categorie)cbxCategorie.SelectedItem).Id
select f;
cbxFabrikant.DisplayMember = "Naam";
cbxFabrikant.ValueMember = "Id";
}
Jedynym sposobem, aby moje formularze znów działały, czas projektowania, jest komentowanie części EF w UserControl (patrz wyżej) i odbudować. To bardzo dziwne, wszystko jest w tym samym zespole, tej samej przestrzeni nazw (ze względu na prostotę).
Masz pomysł?
Zatrzymałem czytanie, gdy tylko przeczytałem słowa "statyczna klasa obiektu Entity". Przestań to robić. Teraz. "ObjectContext" nie jest przeznaczony do tego celu. – Aaronaught