Frage

Ich habe folgende TableServiceContext Klasse für Bücher, ich mag von der PartitionKey die Tabelle Bücher abzufragen, ignorieren Sie die Tatsache, dass Ich bin die Partition Schlüssel als das Buch Namen, das ist nur für mein Lernen sakes

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

            } 
}

Ich erhalte eine „nicht implizit Kann Typ‚System.Linq.IQueryable‘auf‚System.Data.Services.Client.DataServiceQuery‘umwandeln. Eine explizite Konvertierung vorhanden ist (sind Sie nicht eine Besetzung?)“ Auf der letzten Zeile.

Jede Hilfe wird geschätzt!

War es hilfreich?

Lösung

qResult ist bereits eine Art durch den Compiler zugewiesen. Sie versuchen, erneut zuweisen es auf eine andere Art, aber das ist nicht erlaubt.

Versuchen Sie diese

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

Edit:. Es sieht aus wie Ihre Bücher Eigenschaft der falsche Typ ist

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));
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top