我正在使用this tutorial来将xamarin.forms应用与简易表连接起来。我无法在Azure中向数据库添加数据
System.InvalidOperationException
错误消息如下
对项目的插入操作已经在队列中。
异常发生在以下代码行中。
await usersTable.InsertAsync(data);
为了添加用户
var user = new User { Username = "username", Password = "password" };
bool x = await AddUser(user);
ADDUSER
public async Task<bool> AddUser(User user)
{
try
{
await usersTable.InsertAsync(user);
await SyncUsers();
return true;
}
catch (Exception x)
{
await new MessageDialog(x.Message.ToString()).ShowAsync();
return false;
}
}
SyncUsers()
public async Task SyncUsers()
{
await usersTable.PullAsync("users", usersTable.CreateQuery());
await client.SyncContext.PushAsync();
}
,其中
IMobileServiceSyncTable<User> usersTable;
MobileServiceClient client = new MobileServiceClient("url");
初始化
var path = Path.Combine(MobileServiceClient.DefaultDatabasePath, "DBNAME.db");
var store = new MobileServiceSQLiteStore(path);
store.DefineTable<User>();
await client.SyncContext.InitializeAsync(store, new MobileServiceSyncHandler());
usersTable = client.GetSyncTable<User>();
答案 0 :(得分:2)
请检查你的表格。您可能已经添加了该项目。此外,我建议您不要为您的实体设置Id属性,因为您可能正在插入表中已存在的相同ID。这可能是异常出现的原因。
希望它有所帮助!