Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3236 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  18  19  20  ..  77  78  79  80  81  82
Auteur Sujet :

[Topic unique] .Net @ Prog

n°2122244
massanu
Posté le 19-01-2012 à 10:28:01  profilanswer
 

Reprise du message précédent :
 
 
 
:jap:
Au départ comme tu as dis je voulais gérer ca avec des enums  
Cependant je me suis rendu compte que j'aurais surement besoin dans le futur d'ajouter des caractéristiques ou bien corriger le libellé (par une interface d'administration)
 
Donc je me suis dis je vais mettre ca en base. Cependant si je met tout en base, au niveau du code ca va être une autre paire de manche. Par exemple pour tester le Sexe de l'utilisateur connecté je ne pourrais pas faire CurrentUser.Sexe = EnumSexe.Homme mais je devrais comparer avec un entier.
 
Bref ca commence un peu à me prendre la tête.
 
Sachant que je devrais gérer beaucoup, beaucoup de formulaire contenant les valeurs de ces caractéristiques en DropDownList ou en CheckBoxList ou RadioButton etc...
 
Bref je préfère pas me louper....Je ne sais pas du tout quoi faire
 
:jap:


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
mood
Publicité
Posté le 19-01-2012 à 10:28:01  profilanswer
 

n°2122248
ixemul
Nan mais sans blague ! ⚡
Posté le 19-01-2012 à 10:37:31  profilanswer
 

massanu a écrit :

Petite question les amis :hello:
 
J'avance sur mon projet de site de "rencontre" en EF 4 + MVC3 lentement mais surement :D
 
A propos des enum
 
Dans quel cas les utilisez vous ? Y'a  t-il des best practices ?
 
Car je vais avoir pas mal de donnée, de caracteristiques à gérer et je ne sais pas vraiment comment je vais me demerder la dessus. Je vous donne quelques exemples au hasard :
 
Un User à un UserProfile
Ce UserProfile contient toute les infos par exemple :
- Sexe (Homme/Femme)
- SexeRecherche (Homme/Femme)
- CouleurDesCheveux (Bruns/Blond/Roux etc...)
- StatutMarital (Celibataire/Marier/Divorce etc..)
etc... ( y'en a un paquet :lol: )
 
Je ne sais pas vraiment comment je vais gerer ca, afin d'avoir :
 
1°) Une bonne modélisation en BDD (optimiser et performante) beaucoup de recherche, d'ajout et d'edition de UserProfile
2°) Un accès facil dans le code (faciliter le dev et la maintenance)
 
Si vous avez une petite idée :)
 
THANKS :jap:


 
 
 
Encore mieux avec EF4, un mix des 2 :
 
http://blogs.msdn.com/b/efdesign/a [...] igner.aspx
 
;)

n°2122257
ixemul
Nan mais sans blague ! ⚡
Posté le 19-01-2012 à 11:07:33  profilanswer
 


 
Petite nouveauté d'EF 4 entre autre [:dpenche]
 
j'étais dégoûté d'être obligé d'utiliser EF 2 quand c'est sorti et que j'ai vu ça [:ofou]

n°2122265
massanu
Posté le 19-01-2012 à 11:20:24  profilanswer
 

ixemul a écrit :


 
Encore mieux avec EF4, un mix des 2 :
 
http://blogs.msdn.com/b/efdesign/a [...] igner.aspx
 
;)


 
 
Yep j'ai vu que c'était supporter mais c'est dans la version CTP June 2011 nan ?
 
En gros elle est encore en BETA cette version de EF si je ne me trompe pas
 


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122271
deliriumtr​emens
sic transit intestinal...
Posté le 19-01-2012 à 11:30:31  profilanswer
 

Tention quant même, sauf erreur de ma part, les enums gérés avec EF n'existent que dans la CTP de juin (CTP june 2011), mais n'ont jamais passé en vraie release (comme la gestion des données géographique).
 
Ils ne reviendront qu'avec .net 4.5 (en gros il faudra attendre la prochaine grosse livraison, je dirais avec vs 2011).
 
Pour de la prod je ne me baserais pas sur ce CTP là !
 
quelques explications qui valent ce qu'elles valent
 
Chez nous, on a décidé de se passer de cette CTP, qui ne semble promise à aucun avenir tel quel !
 
EDITH : me dit que l'Update1 n'a pas la gestion des enums...

Message cité 1 fois
Message édité par deliriumtremens le 19-01-2012 à 11:33:15
n°2122272
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 19-01-2012 à 11:34:32  profilanswer
 

Pour la déconne : http://channel9.msdn.com/achievements/visualstudio


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2122273
massanu
Posté le 19-01-2012 à 11:34:40  profilanswer
 


 
Ha merde j'etait persuadé qu'on en était encore à la CTP de Juin 2011 :jap:
Bah je vais remplacer mon EF par celui la en espérant qu'il n'y 'ai pas de régression :lol:
 
Je vais voir comment il stocke ca. Je suis en Code First donc faut voir si en déclarant un enum il va le stocker directement en base comme une table à part entière.
 
Ca serait vraiment :love:
 
 
 


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122274
massanu
Posté le 19-01-2012 à 11:35:21  profilanswer
 

deliriumtremens a écrit :

Tention quant même, sauf erreur de ma part, les enums gérés avec EF n'existent que dans la CTP de juin (CTP june 2011), mais n'ont jamais passé en vraie release (comme la gestion des données géographique).
 
Ils ne reviendront qu'avec .net 4.5 (en gros il faudra attendre la prochaine grosse livraison, je dirais avec vs 2011).
 
Pour de la prod je ne me baserais pas sur ce CTP là !
 
quelques explications qui valent ce qu'elles valent
 
Chez nous, on a décidé de se passer de cette CTP, qui ne semble promise à aucun avenir tel quel !
 
EDITH : me dit que l'Update1 n'a pas la gestion des enums...


 
 
Arf :/ Retour au point de départ alors


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122278
massanu
Posté le 19-01-2012 à 11:39:32  profilanswer
 


 
 
Bon bah va falloir trouver autre chose.
 
Donc mise à part une hypothétique nouvelle version (et encore on ne sais pas pour quand) aurais tu un conseil particulier pour mon problème ?
 
Je me retrouve encore plus dans le flou qu'au départ :lol:


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122280
ixemul
Nan mais sans blague ! ⚡
Posté le 19-01-2012 à 11:41:05  profilanswer
 

J'suis encore en 3.5 au taf [:ddr555]
 
(Enfin, ma précedente mission, on avait encore 70% des applis en 1.1... :/)

mood
Publicité
Posté le 19-01-2012 à 11:41:05  profilanswer
 

n°2122282
deliriumtr​emens
sic transit intestinal...
Posté le 19-01-2012 à 11:42:25  profilanswer
 

Cela dit, une petite recherche
 
"faking enum entity framework"
 
devrait aider, c'est à peu près ce qu'on utilise (avec des attributs qui vont bien pour enrichir un peu le bousin (labels))
 
 
C'est certes limité (comme discuté précédemment), mais pour des titres, des sexes, c'est quand même le plus pratique (pas d'ID-qui-ne-veut-rien-dire ou de string dans les requêtes, on aime).

n°2122284
deliriumtr​emens
sic transit intestinal...
Posté le 19-01-2012 à 11:44:07  profilanswer
 

ixemul a écrit :

J'suis encore en 3.5 au taf [:ddr555]
 
(Enfin, ma précedente mission, on avait encore 70% des applis en 1.1... :/)


 
Je mélange du 2 et du 4.
 
Le retour au 2 est... surprenant :sweat:  (mais il est ou mon linq, euh, le truc que je ne pensais jamais utiliser au début)

Message cité 1 fois
Message édité par deliriumtremens le 19-01-2012 à 11:44:16
n°2122287
ixemul
Nan mais sans blague ! ⚡
Posté le 19-01-2012 à 11:49:18  profilanswer
 

deliriumtremens a écrit :


 
Je mélange du 2 et du 4.
 
Le retour au 2 est... surprenant :sweat:  (mais il est ou mon linq, euh, le truc que je ne pensais jamais utiliser au début)


 
Le pire c'est encore le retour à 1.1... plus de generic... des projets ENTIER de définitions de classes de collections (~300... une pour chaque type d'entite...)
 
PLUS JAMAIS ! :D

n°2122290
massanu
Posté le 19-01-2012 à 11:57:18  profilanswer
 


 
 
En y réfléchissant bien j'ai pas vraiment besoin d'en faire des enums.
Je peux le faire pour le Sexe, car ca me permet d'avoir plus facilement le sex de l'utilisateur courant.
 
Mais pour ce qui est des caractéristiques d'un profil, a quoi bon avoir un enum dans le code ? Une simple Classe  dans mes Model suffira, car je n'aurais pas besoin (normalement) d'avoir CouleurDesCheveux.Blond dans mon code.  
 
Enfin je pense :D Je vais avancer on verra bien
 


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122293
deliriumtr​emens
sic transit intestinal...
Posté le 19-01-2012 à 12:06:50  profilanswer
 

massanu a écrit :


Mais pour ce qui est des caractéristiques d'un profil, a quoi bon avoir un enum dans le code ? Une simple Classe  dans mes Model suffira, car je n'aurais pas besoin (normalement) d'avoir CouleurDesCheveux.Blond dans mon code.  


 
C'est quand même important de réfléchir aux éventuelles requêtes que tu voudras faire...
 
Si par exemple, tu dois chercher uniquement les blonds (ou autre exemple), alors un enum te simplifiera largement la compréhension de ta requête  
 

Code :
  1. xxx.Where(m => m.CouleurDesCheveuxWrapper == Convert.ToInt32(CouleurDesCheveux.Blond)


 
Par contre, si tu dois faire des tris alphabétiques sur la couleur des cheveux, alors il te faudra une classe (ou modifier l'ordre de ton enum pour qu'il ressemble à un ordre alphabétique... pas génial)
Si tu dois avoir les 2, tu devras avoir une classe, et tes requêtes seront chiantes

Code :
  1. Where m => m.CouleurCheveux.Id == 2 //merde, ça correspond à quoi ce 2 ?
  2. //ou
  3. Where m => m.CouleurCheveux.Description=="blond" // merde, j'ai "blond" ou "Blond" dans ma base ???


 
Brèfles, ça mérite réflexion entre maintenabilité et fonctionnalités !

Message cité 2 fois
Message édité par deliriumtremens le 19-01-2012 à 12:08:14
n°2122295
massanu
Posté le 19-01-2012 à 12:12:33  profilanswer
 

deliriumtremens a écrit :


 
C'est quand même important de réfléchir aux éventuelles requêtes que tu voudras faire...
 
Si par exemple, tu dois chercher uniquement les blonds (ou autre exemple), alors un enum te simplifiera largement la compréhension de ta requête  
 

Code :
  1. xxx.Where(m => m.CouleurDesCheveuxWrapper == Convert.ToInt32(CouleurDesCheveux.Blond)


 
Par contre, si tu dois faire des tris alphabétiques sur la couleur des cheveux, alors il te faudra une classe (ou modifier l'ordre de ton enum pour qu'il ressemble à un ordre alphabétique... pas génial)
Si tu dois avoir les 2, tu devras avoir une classe, et tes requêtes seront chiantes

Code :
  1. Where m => m.CouleurCheveux.Id == 2 //merde, ça correspond à quoi ce 2 ?
  2. //ou
  3. Where m => m.CouleurCheveux.Description=="blond" // merde, j'ai "blond" ou "Blond" dans ma base ???


 
Brèfles, ça mérite réflexion entre maintenabilité et fonctionnalités !


 
 
Ha la tu synthétise mon problème de manière claire j'aime :love:
 
Exactement mais grosso-merdo il y'aura énormément de recherche via des formulaire multicritères
L'utilisateur doit pouvoir rechercher par exemple Toutes les Femmes/Blondes ou Rousses/Entre 18 et 35ans etc....  et j'en passe.
 
Il n'y aura pas de tri par contre je pense, ca n'a pas d'intêret pour mon utilisation.
 
:jap:
 


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2122299
deliriumtr​emens
sic transit intestinal...
Posté le 19-01-2012 à 12:20:18  profilanswer
 


 
 
 
C'est vrai qu'il est mieux de convertir avant  ;)  
Par contre, tu as clairement la propriété de type Enum dans ta classe (pas stockée en base), et un Wrapper correspondant (entier) , mais tu ne peux pas utiliser l'enum dans une requête linq2entities... puisque EF ne gère pas les enums !

n°2122352
Je@nb
Kindly give dime
Posté le 19-01-2012 à 16:17:48  profilanswer
 
n°2122672
TotalRecal​l
Posté le 20-01-2012 à 23:46:16  profilanswer
 

Tu peux faire ce genre de chose :

 

- Une assembly "ressources" qui contient des enums correspondant à chacune de mes tables de référence. Dans ton cas tu as une table physique "CouleurCheveux" avec un entier en clé, et l'enum correspondant : CouleursCheveux { Blonds = 0, Chatains = 1, Noirs = 2 }

 

- Une assembly DAL qui référence l'assembly ressources. Comme ça tu peux inclure dans tes requêtes des conditions qui font référence à l'enum :
where personne.couleurCheveux == (int)CouleurCheveux.Blond &&...
Ou encore passer en paramètre ces mêmes enums.
Tu peux aussi utiliser le ToString() de l'étiquette de l'enum si tu en as l'usage.

 

- Une assembly métier qui référence les deux autres et consomme tout ça

 

- et d'autres trucs qui viennent derrière (UI).

 

Seul petit inconvénient : comme "Ressource" est très bas dans la stack tu peux potentiellement être limité pour utiliser certaines ruses visant à étendre les possibilités des enums, comme les Attributes.


Message édité par TotalRecall le 20-01-2012 à 23:47:25

---------------
Topic .Net - C# @ Prog
n°2123667
LePhasme
Les Belges domineront le monde
Posté le 27-01-2012 à 14:50:30  profilanswer
 

Vous avez des liens sur les best practices pour avoir une appli regional settings independant ?


---------------
Instagram - Mon PVT en Australie.
n°2123670
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 27-01-2012 à 14:57:59  profilanswer
 

Forcer la CultureInfo.Invariant dans ton appli ? cf http://msdn.microsoft.com/en-us/li [...] lture.aspx pour la référence.
Si appli web (cf mon pb quelques posts plus haut), tu peux setter la culture dans le web.config : http://msdn.microsoft.com/en-us/li [...] 00%29.aspx

 

EDIT : pour le cas 1, il te faudra setter la CultureInfo du Thread courant (à répéter sur chaque thread si besoin). Je sais pas si c'est possible de setter ça dans un App.config, pas essayé.


Message édité par Taiche le 27-01-2012 à 14:59:21

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2123912
LePhasme
Les Belges domineront le monde
Posté le 30-01-2012 à 10:39:08  profilanswer
 

Merci. :jap:


---------------
Instagram - Mon PVT en Australie.
n°2124268
nucl3arfl0
Better Call Saul
Posté le 31-01-2012 à 22:26:33  profilanswer
 

On peut se certifier à son compte (sans trop de frais) ou bien il faut raquer et à ce moment la vaut mieux y aller avec l'entreprise ?

n°2124271
Je@nb
Kindly give dime
Posté le 31-01-2012 à 22:31:01  profilanswer
 

150€ la certif donc si ta boite paie c'est mieux :D

n°2124273
nucl3arfl0
Better Call Saul
Posté le 31-01-2012 à 22:37:15  profilanswer
 

Je@nb a écrit :

150€ la certif donc si ta boite paie c'est mieux :D


ouais mais ça va encore je trouve.
Je m'attendais plutôt à quelque chose de l'ordre du millier d'€ lol

n°2124274
Je@nb
Kindly give dime
Posté le 31-01-2012 à 22:39:11  profilanswer
 

Sinon tu fais comme moi tu les passes en béta, qd c'est gratos :D

n°2124618
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-02-2012 à 16:27:52  profilanswer
 

Sinon, je sais pas si y en a ici qui jouent ou ont joué avec Reactive Extensions mais c'est assez fantastique pour tout ce qui est gestion asynchrone d'événements [:huit] Je débute vraiment dans le truc, ça semble puissant mais spa super facile au premier abord. La syntaxe est super simple, mais les concepts derrière le sont moins, donc je pense qu'il faut un peu de temps pour bien rentrer dedans.
 
Dans tous les cas, tapez-vous le Hands-On Lab, un PDF de 40 pages super bien expliqué avec des tutos et tout. Quelques trucs ont changé par rapport à le dernière version de Rx (GenerateWithTime est remplacé par un overload de Generate, ou FromEvent devient FromEventPattern pour l'overload qui va bien) mais c'est une bonne doc.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  18  19  20  ..  77  78  79  80  81  82

Aller à :
Ajouter une réponse
 

Sujets relatifs
service web REST en VB.NET HeySpreadRequete Access avec paramètres, éxécutée en VB .Net
impersonalisation sous ASP.NET[Topic Unique] les blagues pourries de harko et florentg
Generation d'un GIF en ASP.NETAppeler un service web .NET sécurisé en Java
Prog Visual Basic "periodicité"[Oracle] Temps d'execution de requete tres long par rapport au .NET
[VB.NET] Lister des imprimantes réseauxFusion de résultats de requêtes dans une unique Table
Plus de sujets relatifs à : [Topic unique] .Net @ Prog


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)