2011-04-12 5 views
-1

J'ai 2 jeux de données ds1 et ds2 ds1 contient des valeurs valides utilisées dans ds2 par exemple. ds1 contient la table des matières contenant Maths, Science, History. ds2 contient la table des étudiants La table des étudiants contient une colonne Objet. ds2-> Student-> Les valeurs du sujet doivent être présentes dans la table ds-> subject.Requête Linq sur datable

Comment implémenter ce type de validation de façon efficace. Je ne veux pas parcourir chaque rangée et colonne de la table des étudiants.

par exemple. étudiants Tableau
Nom Etat Sujet
Peter maths Fail
George Sciences Passe
Joe passer
Roger Histoire Autres

Sujets Tableau
Sujet
Mathématiques
Sciences
Mathématiques
Histoire

Tableau d'état
Statut
passe
Fail

Maintenant, je veux valider les données dans le tableau étudiants par rapport au tableau Sujet Vérifiez si le sujet est présent dans le tableau des sujets ou non. Ici je veux row Joe IT car IT n'est pas présent dans la table Subjects il est invalide.

De même, je dois vérifier les données de la table Students avec la table Status.


Sortie prévue
Sujet IT
Statut Autre

Je veux requête LINQ.

+0

Qu'avez-vous jusque là? – Jimmy

+0

Actuellement j'utilise DataTable pour interroger. – meetjaydeep

+3

Qu'est-ce que vous avez jusqu'à présent dans une requête LINQ, avec quoi vous battez-vous? – Jimmy

Répondre

1

Une approche simple:

var noSubject = 
    ds.Student.AsEnumerable().Where(s => ds.Subject.Rows.Find(s.Subject) == null); 

En supposant sujet est PK dans le sujet ds.