Je suis un démarreur avec programmation dans LINQ et je voudrais savoir comment je peux imprimer toutes les données d'une table (dans SQL Server) en utilisant LINQ à partir d'une application console. Ce que j'ai fait jusqu'à maintenant est de créer une table appelée Response qui a plusieurs champs (j'ai conçu la table dans SQL Server Management Studio) et ai écrit une console C# class pour imprimer toutes les valeurs. Voici mon code pour cela:Imprimer un tableau avec LINQ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LinqConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (DatabaseDBDataContext responses = new DatabaseDBDataContext())
{
IEnumerable<Response> responses = from response in responses.Responses select response;
foreach (Response response in responses)
{
Console.WriteLine(response);
}
Console.ReadKey();
}
}
}
}
Cependant, quand je lance ce cmd, je reçois cela comme ma sortie:
LinqConsoleApplication.Response
LinqConsoleApplication.Response
De googler certaines solutions, j'ai trouvé que Console.WriteLine(response)
devrait retourner TOUT (select *) à partir d'une table, mais cela ne semble pas être le cas. Des suggestions s'il vous plaît? Y a-t-il une erreur dans la façon dont j'ai encadré la requête? Aurai-je besoin d'utiliser une méthode StringBuilder pour ajouter chaque champ au writeLine()
?
Console.WriteLine (response.Name); peut être? – rene
'Console.WriteLine (response)' est en train d'imprimer 'response.ToString()', qui est le nom de type de 'Response'. Je pense que vous devez imprimer une * propriété * de votre objet 'response'. –
@rene, cela retournerait seulement la valeur du nom, mais je veux que toutes les valeurs des champs soient imprimées. Aucune suggestion? –