Я интегрирую Azure Easy Tables с моим приложением Xamarin.Forms, и пока оно работает.Я могу делать GET и POST на своей таблице Azure без каких-либо проблем.Однако, как мне обновить существующий элемент в моем локальном MobileServiceSyncTable
и отправить его в облако?
Я для целей тестирования создал простой Model
с именем Person
, который имеет несколько стандартных свойств, таких какFirstName
и так далее.Теперь я просто хочу обновить свойство лиц FirstName
.Пока что это моя - явно неудачная - попытка:
public async Task PatchPerson(string id)
{
await Initialize();
var person = personTable.Where(p => p.Id == id);
person.Firstname = 'Something else';
await personTable.UpdateAsync(person); // error here
await SyncPeople();
}
IntelliSense сообщает мне об ошибке при попытке передать это var
в UpdateAsync()
:
Невозможнопреобразовать из «Microsoft.WindowsAzure.MobileServices.IMobileServiceTableQuery» в «Models.Person»>
Fine.Поэтому я приведу объект примерно так, что удаляет ошибку:
public async Task PatchPerson(string id)
{
await Initialize();
var person = (Person)personTable.Where(p => p.Id == id); //cast
person.Firstname = "Something else";
await personTable.UpdateAsync(person); // no error here
await SyncPeople();
}
Теперь, когда я компилирую и запускаю этот код, программа вылетает со следующим сообщением об ошибке:
[0:] Ошибка при добавлении человека.Сообщение об ошибке: Указанное приведение неверно.
Что я делаю не так, и как я делаю это правильно?