J'ai le code ci-dessous pour tenter de permettre à l'utilisateur de "parcourir" les notes de cas dans la base de données en cliquant sur Suivant ou Précédent sur le formulaire WinForm. Il saisira uniquement la première note de cas. Qu'est-ce que je fais de mal?Implémentation de Next/Previous avec LINQ to SQL
Il ya eu de nombreuses modifications à ce poste, je suis désolé, mais en suivant les conseils de Jon Skeet, j'ai été en mesure de "réparer" ce qui était à l'origine faux, mais cela ne fonctionne toujours pas. Dois-je restructurer ma requête pour prendre en compte la note actuelle?
Si oui, comment je fais ça?
public static Guid NextCaseNoteID (int personID)
{
var context = new MatrixDataContext();
Guid nextNoteID = (from caseNote in context.tblCaseNotes
where caseNote.PersonID == personID
orderby caseNote.InsertDate
select caseNote.CaseNoteID).Skip(1).FirstOrDefault();
return nextNoteID;
}
C'est ce que j'ai fini avec, grâce à tout le monde qui a posté et a suivi mon train mal pensée de la pensée ...
Il semble bien fonctionner si je suis maintenant en essayant de prouver si j'ai besoin du Skip (1) encore .... Merci !!
pour référence future
public static Guid NextCaseNoteID (int personID, DateTime? insertDate)
{
var context = new MatrixDataContext();
Guid nextNoteID = (from caseNote in context.tblCaseNotes
where caseNote.PersonID == personID && caseNote.InsertDate > insertDate
orderby caseNote.InsertDate
select caseNote.CaseNoteID).Skip(1).FirstOrDefault();
return nextNoteID;
}
public static Guid PreviousCaseNoteID(int personID, DateTime? insertDate)
{
var context = new MatrixDataContext();
Guid nextNoteID = (from caseNote in context.tblCaseNotes
where caseNote.PersonID == personID && caseNote.InsertDate < insertDate
orderby caseNote.InsertDate
select caseNote.CaseNoteID).Skip(1).FirstOrDefault();
return nextNoteID;
}
pourquoi renvoyez-vous iquerayble au lieu de seulement le guid? –
Geoff
@Geoff: Resharper m'a dit et je ne (ne) savais pas mieux. Voir mon commentaire sous le message de Jon Skeet. –
En fonction de votre modification, pouvez-vous confirmer que ce qui est retourné par caseNote.CaseNoteID est en fait 32 chiffres avec 4 tirets? – Geoff