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

 



 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  62  63  64  65  66  67
Auteur Sujet :

[Topic unique] .Net @ Prog

n°2347668
fugacef
Posté le 12-03-2020 à 10:29:20  profilanswer
 

Reprise du message précédent :

Yor_le_Bourrin a écrit :


Ben non justement, sauf à pisser uniquement du CRUD (où on arrive à égalité), c'est beaucoup plus complexe de faire une interface avec jquery que vue/react (mapping DOM / data notamment) [:cosmoschtroumpf]


Exactement, tu te retrouves à écrire des tonnes de code js/jquery juste pour afficher et cacher des éléments  :O

 

Et avant que vuejs existe,  knockout faisait très bien le job, il y avait des solutions pré 2013/2014 pour s épargner le code répétitif de mapping DOM/data  :bounce:

mood
Publicité
Posté le 12-03-2020 à 10:29:20  profilanswer
 

n°2347704
TotalRecal​l
Posté le 12-03-2020 à 14:33:22  profilanswer
 

Je suis un peu largué dans votre échange. Au final le problème c'est d'envoyer au serveur un truc qu'il sera capable de mapper vers un Model en s'appuyant sur le Model Binder, donc la contrainte est essentiellement dans la manière dont le "POST" sera consommé, et la solution utilisée côté Front n'est pas si cruciale que ça (même si ça peut faciliter les choses de choisir la bonne) ?
 
En tout cas mon truc est assez infâme à comprendre quand on y rentre pour la première fois, mais ça marche nickel :o.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2347706
DiB91
Bwaaaaaaah
Posté le 12-03-2020 à 14:39:01  profilanswer
 

Avec un peu de chance, ça tombera dans les mains d'un petit nouveau en période d'essai d'ici 2~3 ans :love: :D


---------------
Rehost gratuit et anonyme fait maison
n°2347865
Implosion ​du Sord
Fesseur de chameaux
Posté le 13-03-2020 à 17:42:46  profilanswer
 

Yor_le_Bourrin a écrit :

Mouais. J'utilise Vuejs depuis 4 ans :
- Encore moins de changements qui cassent la retro compatibilité que bootstrap
- J'ai commencé à sortir des composants dans mon appli en 3 jours, temps d'apprentissage "productif" 1 mois, et encore car je ne connaissais pas NPM
- Possibilité de l'utiliser sans NPM dans des projets legacy où tu as un besoin complexe
 
jquery c'est sympa pour du basique, mais ne pas avoir de MVVM dans une interface c'est quand même se mettre une balle dans le pied sur le long terme. A noter que je parle de vuejs, mais l'analyse est valable pour React, à ceci près que tu dois utiliser NPM. Angular par contre [:lafroussedanstonfrog:5]


Merci pour ce retour
Apprentissage en 1 mois, mais avais-tu des bases en JS ? Dev front ?


---------------
Away from keyboard, close to your breast
n°2347866
varfendel
MiKaKa
Posté le 13-03-2020 à 17:54:12  profilanswer
 

Pour faire mes bindings côté js, je crée des inputs hidden à la main que je rajoute au dom.
Côté controller j'ai une méthode qui reçoit le post avec une List<ChildModel>.
 

Code :
  1. var id = uuidv4();
  2.             var hiddenFields = '<div id="_DocumentId_">';
  3.             hiddenFields += '@Html.Hidden(ParentModel.GetPropertyName(s => s.Children) + ".Index", "_DocumentId_" )';
  4.             hiddenFields += '@Html.Hidden(ParentModel.GetPropertyName(s => s.Children) + "[_DocumentId_]." + ChildModel.GetPropertyName(s => s.Prop1), "val1" )';
  5.             hiddenFields += '@Html.Hidden(ParentModel.GetPropertyName(s => s.Children) + "[_DocumentId_]." + ChildModel.GetPropertyName(s => s.Prop2), "val2" )';
  6.             hiddenFields += '</div>';
  7.             hiddenFields = hiddenFields.replace(/_DocumentId_/g, id);
  8.             $("#hiddenDocuments" ).append(hiddenFields);

n°2347894
Yor_le_Bou​rrin
Posté le 14-03-2020 à 09:35:54  profilanswer
 

Implosion du Sord a écrit :


Merci pour ce retour
Apprentissage en 1 mois, mais avais-tu des bases en JS ? Dev front ?


Full stack à dominante back, voire dev système. Mais j'aime bien JS je dois avouer, donc j'avais les bonnes bases : manipulation dom + utilisation des prototypes. Du coup comme j'ai dit le plus long a été l'apprentissage/mise en place de l'écosystème npm, notamment webpack qui est assez touffu. Si tu as déjà fait du JS et que l'archi du projet est déjà posée, ça prendra nettement moins qu'un mois.

n°2347967
fugacef
Posté le 14-03-2020 à 18:23:54  profilanswer
 

Après il est possible d'importer vuejs directement comme fichier JS dans ton fichier HTML, pas besoin de toute la tuyauterie webpack. Sur un projet legacy généralement t'as pas trop le choix :o

n°2348021
Yor_le_Bou​rrin
Posté le 14-03-2020 à 20:51:58  profilanswer
 

Yep, j'ai fait les deux d'ailleurs. Pas à recommander : tu perds du coup les dépendances npm ( [:obvious] ), et la transpilation. Mais bien pratique pour des interfaces complexes : dans mon cas un dashboard et un arbre avec drag&drop. Le reste du projet marchant nickel avec cshtml (parties crud), mais pas eu le courage de migrer :)


Message édité par Yor_le_Bourrin le 14-03-2020 à 20:52:17
n°2348898
TotalRecal​l
Posté le 21-03-2020 à 07:19:03  profilanswer
 

Tiens, je pose là une petite dépendance que j'ai utilisé récemment.
Quand on bosse avec des Enums et dessus des attributs (Description, Name...) ou des modificateurs comme Flags, on se retrouve vite à avoir une tripotée de méthodes d'extensions et/ou de Helpers pour faire ce qu'on veut. Genre les flags avec juste les méthodes natives et opérateurs binaires c'est une plaie à manipuler et relire.
Ben on trouve tout ça, et bien plus encore, sous une forme testée et optimise dans cette sympathique librairie : https://github.com/TylerBrinkley/Enums.NET

 

Et vu la racine de son github, c'est pas son seul projet dans le genre.


Message édité par TotalRecall le 21-03-2020 à 07:23:32

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2351579
juninho38
Posté le 12-04-2020 à 17:39:51  profilanswer
 

Bonjour,

 

j'ai un peu de temps ces dernier temps  :D
Je me suis dis pourquoi ne pas refaire un peu de dev comme à l'époque.
J'ai donc voulu télécharger VS Community 2019.
Je privilégie le téléchargement pour une installation offline
J'ai donc suivi d'abord ceci: https://docs.microsoft.com/fr-fr/vi [...] ew=vs-2019
Puis cela car cela correspond plus à mon besoin: https://docs.microsoft.com/fr-fr/vi [...] ocal-cache
Le téléchargement et l'installation de l'utilitaire se passe très bien.
Mais les commande ne fonctionnent pas. (mode utilisateur ou admin)
J'ai un message d'erreur de ce type (pas la formulation exacte car je ne suis pas sur le bon PC):

Code :
  1. vs_community.exe n'est pas reconnu comme une commande interne ou externe... (avec une fin de message que je n'ai plus en tête
 

Des infos là dessus svp ?
Merci

Message cité 1 fois
Message édité par juninho38 le 12-04-2020 à 17:54:44
mood
Publicité
Posté le 12-04-2020 à 17:39:51  profilanswer
 

n°2351580
Anonyme_Co​de
Je code donc je suis
Posté le 12-04-2020 à 17:59:58  profilanswer
 

juninho38 a écrit :

Bonjour,

 

j'ai un peu de temps ces dernier temps :D
Je me suis dis pourquoi ne pas refaire un peu de dev comme à l'époque.
J'ai donc voulu télécharger VS Community 2019.
Je privilégie le téléchargement pour une installation offline
J'ai donc suivi d'abord ceci: https://docs.microsoft.com/fr-fr/vi [...] ew=vs-2019
Puis cela car cela correspond plus à mon besoin: https://docs.microsoft.com/fr-fr/vi [...] ocal-cache
Le téléchargement et l'installation de l'utilitaire se passe très bien.
Mais les commande ne fonctionnent pas.
J'ai un message d'erreur de ce type (pas la formulation exacte car je ne suis pas sur le bon PC):

Code :
  1. vs_community.exe n'est pas reconnu comme une commande interne ou externe... (avec une fin de message que je n'ai plus en tête

 

Des infos là dessus svp ?
Merci

 

Visiblement vs_community ne se trouve dans aucun des chemins listés dans ta variable PATH. Donc soit tu ajoutes le dossier contenant vs_community dans ton PATH, soit tu changes le dossier courant de ton cmd pour celui contenant vs_community.exe.

 

(Et j'en profite pour poser mon petit drap [:gaga drapal])

n°2351583
juninho38
Posté le 12-04-2020 à 19:12:42  profilanswer
 

Ah oui, effectivement.
Tout fonctionne.
Parfait, merci

n°2353908
vibidoo
Posté le 17-05-2020 à 18:59:29  profilanswer
 

salut  
 
certain d'entre vous utilisent t'ils monodevelop sous Linux ??  
 
je viens de l'installer sur une nouvelle installation et pas moyen de lancer un simple :  
 
using System;
 
namespace exo5
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!" );
        }
    }
}
 
sous la gui monodevelop , en fait il me sort :  
the name "Console" does not exist in current context.  
 
Mais en terminal je lance un msc Program.cs et il me le compile bien et je peux lancer le .exe correspondant.  
 
J'aimerais vraiment re-passer sous linux, j'ai débuté la programmation en fin d"année 2019 et j'ai plutot bien avancé avec V community.  
Mais mon OS de coeur reste tout de même Linux ( Debian\ Gentoo )
 
Si vous aviez une idée, merci bcp  


---------------
Contribuables associés - Arretons les dérives
n°2353909
Yor_le_Bou​rrin
Posté le 17-05-2020 à 19:12:15  profilanswer
 

Désolé de ne pas vraiment répondre à la question (jamais utilisé mono), mais tu ne peux pas passer à dotnet core ?

 

Dans le cas contraire je suis curieux de savoir ce qui bloque, à ma connaissance mono n'a pas de fonction que dotnet core n'aurait :jap:

n°2353910
vibidoo
Posté le 17-05-2020 à 19:45:19  profilanswer
 

que veux tu dire par passer par Dotnet core ?
rester sur VS community (Windows )?


---------------
Contribuables associés - Arretons les dérives
n°2353911
Yor_le_Bou​rrin
Posté le 17-05-2020 à 20:07:10  profilanswer
 

Non, utiliser le sdk dotnet core (multi plateforme) au lieu de mono.

 

L'IDE n'a pas d'importance après : sous linux vs code marchera bien, mais tu peux prendre  vi si ça t'amuse. Tu peux ensuite construire tes applis via CLI, typiquement "dotnet new"  pour initialiser un nouveau projet ou "dotnet build" pour le construire.

n°2353912
Anonyme_Co​de
Je code donc je suis
Posté le 17-05-2020 à 20:17:04  profilanswer
 

+1

 

VS Code + DotNet Core me semble le moyen le plus simple et le plus pérenne de faire .net sous Linux

n°2353913
vibidoo
Posté le 17-05-2020 à 21:26:44  profilanswer
 

ah ok , je ne connaisssais pas, je vais regarder par la  
 
merci merci


---------------
Contribuables associés - Arretons les dérives
n°2356400
DiB91
Bwaaaaaaah
Posté le 18-06-2020 à 17:18:42  profilanswer
 

Coucou :)
 
Messieurs, quelle est la best practice à l'heure actuelle pour générer des fichiers Excel (Open XML, .xlsx) relativement simples ?
 
Contraintes :
- environnement .NET Framework 4.8 (pas de Core, pas de Standard, pas de web)
- base de données MS SQL Server pour la source et je passerai par EntityFramework pour récupérer les résultats de mes procédures stockées et les ranger dans les IEnumerable<T> / List<T>
- ça sera une appli console qui tournera en tâche planifiée à intervalles réguliers (quotidien)
- budget financier : 0€
- budget temps : 5 jours
 
Il y a 5~7 ans, j'aurai sorti la carte ClosedXML voire OpenXML SDK, mais il y a peut être mieux désormais ? :)


---------------
Rehost gratuit et anonyme fait maison
n°2356402
rorosk
Posté le 18-06-2020 à 17:39:20  profilanswer
 

Il n'y a pas à ma connaissance de "best practice" largement adoptée.
Personnellement j'ai utilisé ClosedXML  et https://github.com/EPPlusSoftware/EPPlus quand c'était gratuit même pour une utilisation commerciale. OpenXML SDK est vraiment trop complexe, trop bas niveau, ClosedXML a quelques bugs et aux dernières nouvelles ne supportait pas les graphes, je préfère EPPlus mais devenu payant pour une utilisation commerciale, même si open-source . Si les fichiers a générer sont simples, je dirais ClosedXML, la situation n'a pas beaucoup évoluée.


Message édité par rorosk le 18-06-2020 à 17:40:21
n°2356403
DiB91
Bwaaaaaaah
Posté le 18-06-2020 à 17:47:07  profilanswer
 

Ok, merci pour ta réponse :jap:
L'avantage de ClosedXML c'est que je dois encore pouvoir retrouver des briques (création du workbook, filestream du classeur etc...).
 
Non en effet, ce sont des rapports quotidiens, faits sur le pouce pour une analyse vite fait. Un foreach sur des items en base de données avec un petit cumul sur la semaine ça ira très bien dans une feuille de calcul.


---------------
Rehost gratuit et anonyme fait maison
n°2356404
ixemul
Nan mais sans blague ! ⚡
Posté le 18-06-2020 à 18:21:06  profilanswer
 

Pourquoi ne pas utiliser Dapper, plus light qu'Entity ?


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2356546
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 21-06-2020 à 11:56:50  profilanswer
 

Pour Excel, m'étant intéressé récemment au sujet, je suis tombé sur EPPlus : https://github.com/EPPlusSoftware/EPPlus
 
Et +1 pour Dapper.


---------------
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°2356547
Yor_le_Bou​rrin
Posté le 21-06-2020 à 15:13:25  profilanswer
 

Ca a quoi comme avantage Dapper sur EF Core ? Le côté light n'est pas pertinent dans mes use-case (je n'en suis pas à quelques Mo dans mes containers...). Et les benchmarks que j'ai vu étaient assez orientés, genre comparent une requête directe pour Dapper vs du linq pour EF, une base avec 100 lignes etc.

n°2356548
DiB91
Bwaaaaaaah
Posté le 21-06-2020 à 15:22:26  profilanswer
 

Merci pour vos réponses.

 

Pourquoi EF (classique, le projet est en .NET Framework 4.8) au lieu de Dapper ?
Tout simplement parce que le projet doit être le plus rapidement terminé, et que le temps que je me renseigne sur Dapper, j'aurai déjà mon EDMX, mes liens entre projets et mes premières requêtes Linq écrites et fonctionnelles :jap:

 

Sur un projet perso, avec du temps, j'aurai déjà commencé par du Core, et je me serai ensuite posé pour voir ce qui se fait d'autres qu'EF :jap:

 

Concernant EPPlus
Le fait qu'il soit devenu payant le disqualifie d'office :jap:


Message édité par DiB91 le 21-06-2020 à 15:23:04

---------------
Rehost gratuit et anonyme fait maison
n°2356553
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 21-06-2020 à 17:26:22  profilanswer
 

Yor_le_Bourrin a écrit :

Ca a quoi comme avantage Dapper sur EF Core ? Le côté light n'est pas pertinent dans mes use-case (je n'en suis pas à quelques Mo dans mes containers...). Et les benchmarks que j'ai vu étaient assez orientés, genre comparent une requête directe pour Dapper vs du linq pour EF, une base avec 100 lignes etc.


À titre perso, c'est surtout pour la simplicité d'utilisation. Une méthode d'extension sur DbConnection et basta. Les ORM qui génèrent eux-mêmes le SQL c'est pas ce que j'affectionne, je trouve plus clair que le SQL soit dans le code.


---------------
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°2356555
ixemul
Nan mais sans blague ! ⚡
Posté le 21-06-2020 à 19:40:09  profilanswer
 

Il y a que dalle à apprendre pour dapper, tu ponds un POCO qui reçoit le résultat de ta requête et c'est terminé ;)


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2356556
DiB91
Bwaaaaaaah
Posté le 21-06-2020 à 20:11:07  profilanswer
 

Ah !
Faudrait que je regarde  :love:
Comment se fait le mapping des champs et des types ?
C'est des SQL Adapter des années 90 ?


---------------
Rehost gratuit et anonyme fait maison
n°2356557
Yor_le_Bou​rrin
Posté le 21-06-2020 à 20:14:59  profilanswer
 

OK donc c'est plus pour la simplicité, argument valable effectivement :jap:

 

Mon souci c'est que vu ce que certains prestas ou même dans ma boite sont capables de pondre niveau SQL, le linq to SQL d'EF est pas forcément moins perf... A condition de ne pas être en lazy loading [:tinostar]. Merci d'ailleurs à EF core d'être en eager par défaut :D

n°2356559
ixemul
Nan mais sans blague ! ⚡
Posté le 21-06-2020 à 20:29:59  profilanswer
 

DiB91 a écrit :

Ah !
Faudrait que je regarde :love:
Comment se fait le mapping des champs et des types ?
C'est des SQL Adapter des années 90 ?


Pour les champs le mapping se fait par nom de colonne ou d'alias dans la requête. Pour le type, il faut que ça colle un minimum (mais ça marche avec un dynamic [:brendaline:1] )


Message édité par ixemul le 21-06-2020 à 20:30:35

---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2356560
fugacef
Posté le 21-06-2020 à 21:28:53  profilanswer
 

Je trouve que EF c'est très efficace si tu fais du Code First, sinon effectivement Dapper fait très bien le taf  :jap:

n°2356561
DiB91
Bwaaaaaaah
Posté le 21-06-2020 à 22:29:23  profilanswer
 

Merci à vous 2, je tâcherai d'y jeter un oeil quand même, ne serait-ce que pour ma culture perso :jap:


---------------
Rehost gratuit et anonyme fait maison
n°2356565
ixemul
Nan mais sans blague ! ⚡
Posté le 22-06-2020 à 10:28:06  profilanswer
 

j'ignorais qu'EPPlus était passé sous license commerciale :/
 
Mais avec la dernière version LGPL : https://github.com/JanKallman/EPPlus
 
ça passerait pas ?
 
Car perso, les dernières fois où je devais faire des extract excel, le couple Dapper/EPPlus était terrible d'efficacité en terme de rapidité de mise en oeuvre ;)


Message édité par ixemul le 22-06-2020 à 10:29:15

---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2356566
DiB91
Bwaaaaaaah
Posté le 22-06-2020 à 10:42:32  profilanswer
 

Pour la version commerciale, c'est sûr que c'est mort.
Ici (malheureusement) l'IT c'est système D, faut pas que ça coûte.
Déjà la licence Visual Studio 2017 Pro en 2018 je me prends des tacles à chaque réunion/séminaire :love:
 
Par contre si y a une version LGPL pourquoi pas, d'autant que c'est destiné à de l'interne, pour monitorer un process.
 
Le seul et dernier souci va donc être de le temps de prise en main du truc :jap:
 
En tout cas, merci pour vos réponses les gars.
Ca me donne envie de bricoler un peu de mon côté pour découvrir.


---------------
Rehost gratuit et anonyme fait maison
n°2357277
ov3rflow
Overrage
Posté le 03-07-2020 à 13:44:49  profilanswer
 

Yor_le_Bourrin a écrit :

OK donc c'est plus pour la simplicité, argument valable effectivement :jap:
 
Mon souci c'est que vu ce que certains prestas ou même dans ma boite sont capables de pondre niveau SQL, le linq to SQL d'EF est pas forcément moins perf... A condition de ne pas être en lazy loading [:tinostar]. Merci d'ailleurs à EF core d'être en eager par défaut :D


 
 
Fini les missions ou tu passes pour un héro en virant tous les lazy loading  :(

n°2360963
Implosion ​du Sord
Fesseur de chameaux
Posté le 31-08-2020 à 10:58:54  profilanswer
 

Bonjour à tous
 
Utilisez-vous EF Core 3 ? Je suis en train de faire une migration de projet .Net Core 2.2 vers 3.1 et je rencontre deux problèmes sans vraiment arriver à trouver de réponse sur le net : mes recherches tournent en rond.Je ne connais pas grand chose à Entity Framework (et globalement, je n'aime vraiment pas les ORM... mais ça on s'en moque car ça change pas mon soucis)Ah et pour info je viens d'arriver sur ce projet chez un nouveau client, donc je vais pas tout refaire de suite.
 
Mon premier soucis est que j'obtiens à de nombreux moment le message suivant, qui semble plutôt explicite...

Citation :

A second operation started on this context before a previous operation completed


... sauf que je n'arrive pas à trouver quels sont ces requêtes concurrentes : comment procéder ?
J'ai vérifié que toutes les méthodes async étaient bien await.
Notons que j'ai diminué le nombre d’occurrence de ce soucis en passant l'enregistrement de mon dbContext de Scoped à Transcient, même si ça ne me plait pas trop... puis en passant l'enregistrement de tous les repository également en Transcient, le problème semble ne plus se produire.
Auriez-vous des suggestions ?
 
------------------
 
Second soucis : j'ai quelques requêtes EF Linq qui ne passent plus en exécution server-side (>'could not be translated') alors qu'elles devraient être supportés : cela concerne des queries utilisant .Contains() dans leur expression. Exemple :

Code :
  1. public virtual async Task<IDictionary<TPrimaryKey, TEntity>> GetByIdAsync(IEnumerable<TPrimaryKey> ids)
  2. {
  3.   var objects = await _dbContext.Set<TEntity>().Where(r => ids.Contains(r.id)).ToListAsync()
  4.   return objects.ToDictionary(x => x.Id);
  5. }


J'ai pour le moment contourné le soucis en faisant une évaluation client-side via await _dbContext.Set<TEntity>().ToListAsync() puis en appliquant un .Contains() sur le résultat, mais on perd beaucoup niveau performances puisque toute la table est ramenée dans l'appli.
Quand je cherche des infos sur ce soucis, je trouve bien sur github des bugs côté EF Core sur le .Contains() mais tous semblent avoir été résolus.
Des suggestions ?


---------------
Away from keyboard, close to your breast
n°2360965
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 31-08-2020 à 11:09:10  profilanswer
 

Faut voir si t'as besoin du scope "Scoped" dans ton appli ; https://docs.microsoft.com/en-us/as [...] -lifetimes
En gros, l'utilisation de Scoped peut poser des soucis si tu fais des singletons ou que tu fais du static dans tes instances Scoped (cf la doc ci-dessus). Donc ton pb pourrait venir de là. Utiliser Transient ne pose pas de souci particulier, on l'utilise beaucoup chez nous.
Après, pour un contexte de base de données, ça peut avoir du sens de l'enregistrer en tant que Singleton aussi non ? Mais dans ce cas, ne pas stocker la connexion à la DB comme static ou quoi dans ton instance.

 

Aucune idée pour la 2ème question en revanche.

 

EDIT : toujours pour la 1ère question, ce post de SO illustre bien les différences de scope : https://stackoverflow.com/questions [...] ifferences Notamment entre Scoped et Transient, qui vont se marcher sur les pieds entre 2 services pour une même requête si tu as du static dans ton instance.

 

EDIT 2 : ah ba : https://entityframework.net/knowled [...] -completed


Message édité par Taiche le 31-08-2020 à 11:13:52

---------------
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°2360967
Implosion ​du Sord
Fesseur de chameaux
Posté le 31-08-2020 à 11:18:06  profilanswer
 

Merci Taiche
Je vais déjà lire ça, c'est vrai que ce n'est pas une notion que je maitrise vraiment ça pour le coup...


---------------
Away from keyboard, close to your breast
n°2360968
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 31-08-2020 à 11:20:21  profilanswer
 

Ba j'avoue qu'on utilise très peu (jamais ?) Scoped dans nos applis ici, donc j'en savais pas beaucoup plus avant de lire les liens ci-dessus :D


---------------
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°2360969
Yor_le_Bou​rrin
Posté le 31-08-2020 à 11:23:03  profilanswer
 

1er point : ça ressemble à un pb de parallélisme : ton repository doit appeler dans 2 méthodes différentes le contexte, qui est partagé. Essaie avec un lock pour voir. Perso j'utilise Mediatr, ça évite ce souci.
 
2° point : pas de souci de mon côté, mais je suis sous EF 3.1. Visiblement un bug existe en 3.0, je ne sais pas si c'est ton cas. A voir aussi le type de ton TPrimaryKey en pratique.

n°2360972
Implosion ​du Sord
Fesseur de chameaux
Posté le 31-08-2020 à 11:32:58  profilanswer
 

Yor_le_Bourrin a écrit :

1er point : ça ressemble à un pb de parallélisme : ton repository doit appeler dans 2 méthodes différentes le contexte, qui est partagé. Essaie avec un lock pour voir. Perso j'utilise Mediatr, ça évite ce souci.


Je continue d'investiguer. Faut que je voie comment activer les logs verbeux pour EF, ça devrait peut-être m'aiguiller ?
 

Yor_le_Bourrin a écrit :

2° point : pas de souci de mon côté, mais je suis sous EF 3.1. Visiblement un bug existe en 3.0, je ne sais pas si c'est ton cas. A voir aussi le type de ton TPrimaryKey en pratique.


Dans l'un de mes cas de crash, IEnumerable<TPrimaryKey> est un tableau de string (System.String[])
Je suis avec EF Core 3.1.7, le bug ne devrait plus exister. Il faudrait que je reproduise le cas dans un POC pour le soumettre je pense...
 
 
EDIT : texte edité -> c'est IEnumerable<T> qui est un tableau de string et non T qui est un tableau de string

Message cité 1 fois
Message édité par Implosion du Sord le 31-08-2020 à 15:13:07

---------------
Away from keyboard, close to your breast
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  62  63  64  65  66  67

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-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR