|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 64 ![]() |
Bonjour,
J'ai mis en ligne "Introduction par l'exemple à Entity Framework 5 Code First". C'est un tutoriel destiné en priorité aux débutants même s'il peut intéresser d'autres publics. Citation:
|
|
|
|
70
|
|
|
#2 |
|
Futur Membre du Club
![]() Développeur informatique Inscription : février 2003 Messages : 10 ![]() |
Simplement Merci
|
|
|
00
|
|
|
#3 | |||
|
Membre éclairé
![]() ![]() |
Bonjour Serge,
A première vue ton introduction me paraît très sympa, beau boulot. Par contre j'ai 1 petite question et 1 commentaire Citation:
------------------ Page 33, tu souhaites donc initialiser tes noms de table en surchargeant la méthode "OnModelCreating"... C'est assez dommage de procéder de cette manière vu qu'on peut définir le nom de la table et le schéma au niveau de notre entité également. En utilisant l'attribut Table qui vient de System.ComponentModel.DataAnnotations.Schema. Code :
|
|||
|
00
|
|
|
#4 | ||||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 64 ![]() |
@Sobaka
Citation:
Citation:
Code :
|
||||
|
|
00
|
|
|
#5 | |
|
Membre éclairé
![]() ![]() |
Citation:
|
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() ![]() Pierre-Emmanuel MercierIngénieur développement logiciels Inscription : octobre 2006 Messages : 70 ![]() |
Le mot clé virtual n'est a utilisé uniquement pour les associations, pour le reste pas besoin, sinon vous risquez d'avoir des soucis au chargement des données (genre la collection toujours à Null).
Code :
|
||
|
00
|
|
|
#7 | |||||
|
Membre éclairé
![]() ![]() |
Citation:
Exemple de ce que je trouve plus propre et une association qui peut être "null": Code :
|
|||||
|
00
|
|
|
#8 |
|
Membre chevronné
![]() ![]() Pierre-Emmanuel MercierIngénieur développement logiciels Inscription : octobre 2006 Messages : 70 ![]() |
Je suis d'accord avec toi pour le constructeur avec l'initialisation.
Par contre j'ai trouvé pas mal de questions d'utilisateurs sur le web du "pourquoi ma collection est toujours vide". La réponse est toujours "rajoute le virtual devant" et l'utilisateur à réussit à retrouver ses infos. Pourquoi ? Ca je ne sais pas
|
|
00
|
|
|
#9 | |
![]() ![]() |
Citation:
![]() Donc pour infos le mot clef virtual lorsqu'il est défini sur les propriétés de navigation permet de bénéficier de la fonctionnalité de chargement à la demande (lazy loading) dans l'approche Code First (bien sûr si le développeur ne l'a pas désactivé explicitement dans le code)
__________________
Consultant .Net chez SoftFluent Découvrir notre produit CodeFluent Entities Adhérer à l'association Fier d'être développeur ![]() Les FAQs sur les technologies .Net voir ici Les cours et tutos sur les technologies .Net voir ici Les critiques sur les livres parlant des technologies .Net voir ici Pensez à la balise [CODE] Pensez au tag si votre problème est résolu
|
|
|
10
|
|
|
#10 | |
|
Membre éclairé
![]() ![]() |
Citation:
Donc je pense que Serge a en partie raison sur le fait de "l'obligation" de mettre des propriétés en virtual et surtout les collections comme tu l'as dit. Le fait de mettre le mot clef "virtual" sur les collections permet de profiter du Lazy Loading avec EF5 (et depuis EF 4.1 si j'ai bien vu ^^) donc dans ce cas la EF va bien redéfinir les propriétés en virtual. Pour informations : Dans la partie "Turning off lazy loading for specific navigation properties" |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Nathanael MarchandExpert .Net So@t Inscription : octobre 2008 Messages : 3 521 ![]() |
Et le pourquoi du comment: lorsque tu fais du LazyLoading ou que tu utilises du TrackingChanges, EF (et NHibernate) utilises des proxy (des classes dérivées du type original) pour redéfinir lesdites propriétés
Ah ui, c'était marqué dans ton lien
__________________
Retrouvez moi sur : |
|
10
|
|
|
#12 |
|
Membre Expert
![]() Guillaume Développeur .NET Inscription : juillet 2006 Messages : 854 ![]() |
Merci pour cette presentation
__________________
___________________________________________________________________________________________________________ Si mon message t'a aidé - Si au contraire, je suis hors sujet - Quand vous avez la réponse à votre question. Est notre ami
|
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : janvier 2004 Messages : 53 ![]() |
Merci pour cette présentation, elle m'a été très utile.
Par contre je rencontre un souci avec Oracle et code first. Peut-être pouvez vous me renseigner. Je suis sur une application MVC 3 avec Oracle. Dans votre tutoriel vous parlez de changer le providerfactory à la page 137. Mais en MVC 3 je n'ai pas la possibilité de le modifier du coup j'ai une erreur dès que j'essaie de lire ou modifier des données dans mon contexte qui me dit : Code :
Une valeur Null a été retournée après l'appel de la méthode « get_ProviderFactory » sur une instance de fournisseur de magasins de type « Oracle.DataAccess.Client.OracleConnection ». Le fournisseur de magasins risque de ne pas fonctionner correctement. Merci |
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 64 ![]() |
@durnambule
Je ne connais pas ASP.NET MVC mais lorsque je génère un tel projet, je vois qu'il y a un [Web.config]. Donc vous pouvez mettre votre configuration EF dedans puis l'exploiter, comme il est fait dans le document avec une appli asp.net webforms. Non ? Je ne suis pas sûr de comprendre le problème. ST |
|
|
00
|
|
|
#15 | |
|
Membre éprouvé
![]() Inscription : janvier 2011 Messages : 161 ![]() |
Très beau travail, bravo.
Si je peux me permettre une critique, je trouve que la différence entre code first et database first aurait mérité plus d'explications. Tel quel, l'article peut laisser croire qu'il s'agit d'un détail technique et que de toute façon la référence est le modèle de données : Citation:
|
|
|
|
10
|
|
|
#16 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 64 ![]() |
@Luckyluke34
Je suis d'accord avec vous. Je pense qu'on pourrait dériver les entités de persistance du modèle pour montrer clairement la séparation. |
|
|
00
|
|
|
#17 |
|
Membre du Club
![]() Claude DesvernesDéveloppeur .NET Inscription : juillet 2005 Messages : 95 ![]() |
Merci pour ce dactitiel.
Le Binding WPF Semble avoir changé. ( par rapport a EF 3.5 ) : j'ai une ereur qui me dit de binder avec des DbSet . Pourrais je avoir des liens et des exemples de binding WPF et EF5.0. Malgrés des recherches je ne trouve rien . Encore meci Anthride |
|
|
00
|
|
|
#18 | |
![]() ![]() ![]() Nathanael MarchandExpert .Net So@t Inscription : octobre 2008 Messages : 3 521 ![]() |
Citation:
![]() Mais à première vue, non, rien n'a changé sur le binding en WPF !
__________________
Retrouvez moi sur : |
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() |
Bonjour et bravo pour cet article.
Simplement une petite remarque de DBA: vous utilisez à tord le terme champ lors de la description de vos tables côté SGBD... Or une table contient des colonnes...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. MCTS Database Development |
|
|
00
|
|
|
#20 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 64 ![]() |
@iberserk
Citation:
Cordialement. |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com