Domanda

Ho la seguente classe TableServiceContext per i libri, voglio interrogare la tabella libri dal PartitionKey, si prega di ignorare il fatto che Sto usando la chiave di partizione come il nome del libro, questo è solo per il mio amor di apprendimento

   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));

            } 
}

ho un "Impossibile convertire implicitamente il tipo 'System.Linq.IQueryable' a 'System.Data.Services.Client.DataServiceQuery'. Esiste una conversione esplicita (che le manca un cast?)" A che l'ultima riga.

Ogni aiuto sarà apprezzato!

È stato utile?

Soluzione

qResult è già stato assegnato un tipo dal compilatore. Stai cercando di ri-assegnarlo a un tipo diverso, ma che non è consentito.

Prova questo

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

Modifica Sembra che i tuoi libri proprietà è il tipo sbagliato

.
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));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top