Je voudrais sélectionner seulement quelques colonnes d'une certaine table (Blobs). J'ai des champs comme: Id, RowVersion, Taille, Signature, Blob, et je veux sélectionner seulement les quatre premiers. Je le fais comme ceci: (---> est un lieu d'erreur)Retourne les colonnes sélectionnées sélectionnées
public List<BlobDetails> GetAllBlobsNames()
{
RichTekstModelDataContext dc = new RichTekstModelDataContext();
var allBlobs = from b in dc.Blobs
orderby b.RowVersion descending
select new {b.Id, b.Size, b.Signature, b.RowVersion};
---> allBlobs.ToList<BlobDetails>();
}
public class BlobDetails
{
public int Id { get; set; }
public string Signature { get; set; }
public int Size { get; set; }
public System.Data.Linq.Binary RowVersion { get; set; }
}
Erreur occures quand je suis en train de revenir BlobDetails - comme VS.08 ne sait pas comment convertir type anonyme (allBlobs) lister.
Je ne veux pas sélectionner toutes les valeurs, car le champ Blob peut être assez lourd et je ne veux pas l'envoyer tout le temps.
Avez-vous une idée de comment le faire correctement? Avec "select new {", vous créez un type anonyme qui ne peut pas être implicitement converti en BlobDetails.
Merci. Pour ce faire, je dois implémenter l'interface IEnumerable dans ma classe BlobDetails. Je pense que je peux le faire ;-) –
Non, vous ne devrez pas implémenter IEnumerable. J'ai étendu l'échantillon, mais je suppose que vous l'avez déjà compris dans l'exemple @Marcs. –
Oui, je l'ai fait :-) Merci. –