0
votes

C # Problème de requête LINQ

Bonjour, j'essaie de récupérer un service spécifique par ID.

Ceci est mon code xxx

Comment filtrer les résultatsset basé sur _deptid ?? Cela ne renvoie aucun disque, même si le dossier existe.


8 commentaires

Votre type de retour est-il censé être annulé dans cet exemple? Quand vous déboguez et faites du département () qu'est-ce que vous obtenez?


D => Nouveau département {Kearkid = E.DeparmingId, Où est-ce que E vient? Aussi, je suggère de filtrer avant de tout obtenir afin: dbcontext.tbldepartments.au (/ * filtre * /). Sélectionnez (/ * Make Object * /);


Outre le retour du vide, votre code compile-t-il? Qu'est-ce que la variable e? Conseil: Si vous utilisez des identifiants appropriés dans vos expressions Lambda, vous ne vous référerez pas au paramètre incorrect par accident: .where (département => déparement.dégemiezid == _Deparmentagmentid)


L'enregistrement est-il récupéré sans la section? Essayez également d'ajouter .tolist () . L'entité cadre fonctionne comme paresseux. Donc, la requête peut même travailler très bien.


Essayez dbcontext.tbldepartments.Où (c => C.Deparmingid == _deptid) .Sélectionnez (D => Nouveau département {Kearkid = d.Deparming, nom de département = D.DepartmentName}). Tolist ();


Désolé, c'était une faute de frappe. Édité mon post.


@Aarif qui a fonctionné. Merci.


@Jacksmith content d'aider


3 Réponses :


0
votes

faire quelque chose comme ceci: xxx


0 commentaires

0
votes

Avez-vous besoin de la clause Select? Si vous avez juste besoin de récupérer un département, vous pouvez faire quelque chose comme ceci:

public void GetDeptId(int _DeptID)
{
    var dept = dbContext.tblDepartments
                        .First(d => d.DepartmentID == _DeptID);
}


0 commentaires

0
votes

S'il vous plaît essayez ceci.

var dept = dbContext.tblDepartments.Where(d => d.DepartmentID == _DeptID)
    .Select(d => new Department
    {
        DepartmentID = d.DepartmentID,
        DepartmentName = d.DepartmentName
    });
}


0 commentaires