Je viens de créer un contrôle utilisateur. Ce contrôle utilise également ma classe Entity Framework statique pour charger deux zones de liste déroulante. Tout va bien et fonctionne sans problème. La conception et l'exécution fonctionnent. Ensuite, lorsque j'arrête l'application, tous les formulaires qui contiennent mon UserControl ne fonctionnent plus dans la conception. Je vois juste deux erreurs:EF dans un UserControl ne peut pas voir le app.config?
Erreur1: La connexion nommée spécifiée est introuvable dans la configuration, n'est pas destinée à être utilisée avec le fournisseur EntityClient, ou n'est pas valide.
Erreur 2: La variable ccArtikelVelden
est non déclarée ou n'a jamais été affectée. (ccArtikelVelde est mon UserControl
)
Runtime tout fonctionne
Ma classe statique 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;
}
}
}
une certaine logique qui se passe dans mon UserControl pour charger les données dans les listes déroulantes:
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";
}
la seule façon de faire mes formes fonctionnent à nouveau, le temps de conception, est de commenter la partie EF dans le UserControl (voir ci-dessus) et reconstruire. C'est très étrange, tout est dans le même assemblage, même espace de nom (par souci de simplicité).
Quelqu'un a une idée?
J'ai arrêté de lire dès que j'ai lu les mots «classe Entity Framework statique». Arrêter de faire ça. À présent. Le 'ObjectContext' n'est pas conçu pour être utilisé de cette façon. – Aaronaught