J'ai un très gros problème pour résoudre ce problème J'ai 2 tablesrequête complexe en utilisant LINQ et C#
première tableest: http://lh3.ggpht.com/_uMvfbnPHuko/SYPJQ1ZsBDI/AAAAAAAAAKs/eq49xquy3jM/s800/Untitled-2.jpg
qui contient un module (id et nom)
la deuxième table est http://lh6.ggpht.com/_uMvfbnPHuko/SYPJQ4IXGwI/AAAAAAAAAK0/zmTIO6V-UEQ/s800/Untitled-3.jpg
qui contient les identifiants des utilisateurs et leurs numéros de modules préférés
permet maintenant passer au problème Je veux générer une liste de cases à cocher
par exemple pour le userid 1 qui comprend les modules suivants « 4 et 3,2 » le résultat sera
http://lh4.ggpht.com/_uMvfbnPHuko/SYPJQ_LJeVI/AAAAAAAAAK8/6RV8a1S8eCY/s800/Untitled-4.jpg
avis que « recommandé pour vous » case à cocher est pas cochée, car l'utilisateur 1 n'a pas id module « 1 »
J'ai passé beaucoup de temps à essayer de résoudre ce problème en utilisant C# et LINQ
voir le résultat de mon effort :) (le code suivant ne fonctionne pas)
var q = from m in db.modules
from um in db.usersModules.Where(um2 => um2.userId == myUserId).Single().modules.Trim().Split(',')
where um.Contains(m.moduleId.ToString())
select new
{
moduleid = here i want the module id from modules table
modulename = here i want the modulename from modules table
ischecked = here i want "true" or "false" depending on if the user has this module or not
};
Si LINQ est facile pour vous s'il vous plaît essayer de résoudre celui-ci? avez-vous des questions?
merci l'homme, cela fonctionne !, j'ai essayé depuis longtemps et enfin merci :) – ahmed
Nice CMS :) Ahmed, vous devriez refactoriser votre schéma DB. Ayant 2,3,4 que les données sont mauvaises. Utilisez soit un un à plusieurs table mec ... c'est la bonne chose à faire ici IMO. –
Merci Pure.Krome, je suis également d'accord avec vous, ahmed, vous devriez utiliser une table de liaison entre les utilisateurs et les modules, et si vous voulez garder une trace de la commande (userId, moduleId, number), vous pouvez ajouter un champ entier faites cela, les requêtes seront plus faciles ... – CMS