Question

J'ai la classe TableServiceContext suivante pour les livres, je veux interroger la table Livres du PartitionKey, s'il vous plaît ne pas tenir compte du fait que J'utilise la clé de partition comme le nom du livre, c'est juste pour mes sakés d'apprentissage

   public class BookDataServiceContext: TableServiceContext
        {

            public BookDataServiceContext(string baseAddress, StorageCredentials credentials)
                : base(baseAddress, credentials)
            {
            }

            public IQueryable<Book> Books
            {
                get
                {
                    return this.CreateQuery<Book>("Books");
                }
            }

            public void AddMessage(string name, int value)
            {
                this.AddObject("Books", new Book {PartitionKey=name, BookName = name, BookValue = value});
                this.SaveChanges();
            }

            public Book GetBookByPartitionKey(Guid partitionKey)
            {
                var qResult = this.CreateQuery<Book>("Books");
    This doesnt work ---->           // qResult = qResult.Where(e => (e.PartitionKey.CompareTo(partitionKey)==0));

            } 
}

Je reçois « Impossible de convertir implicitement le type « System.Linq.IQueryable » à « System.Data.Services.Client.DataServiceQuery ». Il existe une conversion explicite (vous manque un casting?) » Sur cette dernière ligne.

Toute aide sera appréciée!

Était-ce utile?

La solution

qResult est déjà attribué un type par le compilateur. Vous essayez de réattribuer à un autre type, mais qui ne sont pas autorisés.

Essayer cette

var someOtherName = qResult.Where(e => (e.PartitionKey.CompareTo(partitionKey)==0));

Modifier Il semble que votre propriété est Livres le mauvais type

.
public DataServiceQuery<Book> Books
{
    get
    {
        return this.CreateQuery<Book>("Books");
    }
}

public Book GetBookByPartitionKey(string partitionKey)
{
    var qResult = Books.Where(e => (e.PartitionKey.CompareTo(partitionKey)==0));
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top