Je suis essayé ci-dessous le code pour récupérer le dernier enregistrement inséré. Cela a fonctionné mais il montrait avec des accolades bouclées. Je veux obtenir la dernière valeur d'enregistrement insérée pour imprimer dans une étiquette
Vérifiez ci-dessous lien d'image p>
C'est la sortie de mon résultat p>
4 Réponses :
Vous sélectionnez un nouvel objet avec une seule propriété. Donc, query dans ce cas est un objet anonyme. Ce qu'il fait maintenant, c'est convertir le nouvel objet en chaîne, d'où les crochets.
Si vous souhaitez afficher uniquement le champ de nom, vous devez imprimer query.Name sur l'étiquette.
Si vous souhaitez interroger toutes les colonnes:
SELECT TOP (1) Name FROM [Products] ORDER BY ProductID DESC
Cela équivaut à sql:
var query = (from p in context.Products
orderby p.ProductID descending
select p.Name ).First();
Si vous souhaitez enregistrer toutes les colonnes dans un La variable C # peut être utilisée comme type fort plus tard.
var query = (from p in context.Products
orderby p.ProductID descending
select p).First();
Console.WriteLine(query.Name);
Console.WriteLine(query.SomeCloumn);
Si vous ne voulez que la colonne Nom et le type fort, vous n'avez pas besoin de nouveau {}
XXX
Cela équivaut à sql:
SELECT TOP (1) * FROM [Products] ORDER BY ProductID DESC
ressemble à OP n'a besoin que de nom alors nous devrions extraire toutes les colonnes
Vous produisez un objet anonyme dans votre requête LINQ, si vous n'avez besoin que du nom, alors ce que vous devez faire est simplement de projeter la propriété code> nom code> sans et rappelez-vous que dans votre exemple de code actuel Vous devez accéder à la propriété code> nom code> de votre objet anonyme et que l'objet anonyme n'est pas nécessaire en réalité dans le scénario actuel, Une simple chaîne être sûr si Aucune ligne n'existe: p> espère qu'il aide. p> p> nouveau {} code > expression qui ne sera qu'une valeur code> chaîne code> comme: premier () code> lancera une exception au moment de l'exécution si Il n'y a pas de ligne trouvée dans la table code> de la table code> pour que nous avons sReveArdefault () code> qui retournera null code> au cas où il n'y a pas de ligne: p> code> est suffisante, mais il suffit d'illustrer comment le faire avec les bits de code fournies ici, il s'agit de: p>
.First () lève une exception lorsque rien n'est renvoyé, tandis que FirstOrDefault () renvoie null
var query = (from p in context.Products
orderby p.ProductID descending
select p).FirstOrDefault();
Comment avez-vous ajouté le
Produitau contexte? À ce stade, vous avez le dernier produit. Pourquoi avez-vous besoin de le retrouver?