Les propriétés de la classe partielle n'apparaissant pas dans la fenêtre Sources de données!

StackOverflow https://stackoverflow.com/questions/264074

Question

Entity Framework a créé les classes partielles requises. Je peux ajouter ces classes partielles à la fenêtre Sources de données et les propriétés s'affichent comme prévu. Toutefois, si j'étend l'une des classes dans un fichier source séparé, ces propriétés n'apparaissent pas dans la fenêtre Sources de données, même après une génération et une actualisation.

Toutes les propriétés des classes partielles dans les fichiers source fonctionnent comme prévu dans la fenêtre Sources de données, sauf lorsque la classe partielle a été créée avec EF.

EDIT: Après la suppression de la table en cause pour le concepteur edm, il est attendu que tous les travaux soient ajoutés. Pas une solution à long terme. Quelqu'un d'autre rencontre un problème similaire?

Était-ce utile?

La solution

J'ai utilisé les solutions suivantes:

Étape 1 ... Créer les projets requis Dans votre solution, créez deux projets: 1 - le projet d’application (l’application que vous utilisez, par exemple une application Windows Forms) 2 - le projet datalayer (un projet de bibliothèque de classes, celui qui convertit les DLL en sortie de construction)

Étape 2 ... Liez les projets Dans le projet d’application, ajoutez une référence au projet de couche de données (références - ajouter une référence - onglet projet)

Étape 3 ... Créez une propriété dans la classe partielle Dans le projet datalayer: - ajoutez le fichier de base de données si vous utilisez une base de données locale - ajouter un nouvel élément Linq to SQL classes (fichier .dbml) - ajouter les tables souhaitées à la feuille de concepteur à partir de l'explorateur de serveurs - Faites un clic droit sur l'une des classes du concepteur et sélectionnez "Afficher le code". - vous serez dirigé vers un fichier avec les informations de classe partielle déjà complétées. - rendre publique la classe partielle - créer une propriété test, par exemple:    chaîne publique TEST    {        get {return " TEST " ;;}    } - construire le projet datalayer - vous avez maintenant ajouté une propriété à la classe partielle de l’une de vos classes construites par le concepteur ...

Étape 4 - Ajouter des sources de données - dans votre projet d'application - allez dans l'onglet sources de données et ajoutez une nouvelle source de données d'objet, en sélectionnant également la classe à laquelle vous avez ajouté la propriété de classe partielle.

  • vous devriez voir la propriété TEST dans la vue des sources de données ...

tout est fait

Je pense que cela fonctionne car avoir le fichier .dbml et la classe partielle dans un projet séparé et y accéder via une DLL dans le projet d'application. oblige Visual Studio à compiler et rend tout disponible dans le projet d'application ... par opposition dans une dll et un fichier temporaire séparé, ce qui semble se produire lorsque tout est dans le projet, laissant les propriétés de classe partielles en dehors de la liste des sources de données.

En plus, ce n’est pas si mal… avoir un projet séparé pour votre couche de données le rend réutilisable entre projets ..: D

espérons que cela fonctionne pour quelqu'un ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top