我正在使用可在Android和Windows Phone 8上运行的Xamarin开发应用。 该应用程序有一个本地数据库。 它在Android上工作正常,但我在WinPhone上面临崩溃。 当应用程序尝试更新数据库上的项目时,它会显示"没有这样的列:SendBill"。
通过调试应用程序,我可以看到它调用connection.CreateTable<TTable>();
,其中TTable是一种RouteMobile。
我的RouteMobile:
public class RouteMobile: IModelBase
{
public RouteMobile() { }
[PrimaryKey]
public int Id { get; set; }
public int Code{ get; set; }
public string Identifier { get; set; }
public string DtExec { get; set; }
public string Situation { get; set; }
public int SendBill{ get; set; }
public int QtdBillsToPrint { get; set; }
public int QtdNotificationsToPrint { get; set; }
public int QtdDebitNotificationsToPrint { get; set; }
#region Sincronization
public Int32 IdServer { get; set; }
public DateTime SyncVersion { get; set; }
public Boolean UpdateFlag { get; set; }
#endregion
[OneToMany(CascadeOperations = CascadeOperation.CascadeRead)]
public List<RoutePointMobile> RoutePointList { get; set; }
}
我的IModelBase:
public interface IModelBase
{
int Id { get; set; }
}
然后,app app调用connection.Update(item);,其中item是RouteMobile的一个实例,它崩溃了:
{SQLite.Net.SQLiteException: no such column: SendBill
at SQLite.Net.SQLiteConnection.Update(Object obj, Type objType)
at SQLite.Net.SQLiteConnection.Update(Object obj)
at IM.Data.BaseMobileDAO`1.Save[T](T item)
at IM.Business.RouteMobileBO.Save(RouteMobile item)
at IM.Business.RouteMobileBO.AjustRoutes(IList`1 lstRout)
at IM.ViewModels.RoutListViewModel.get_ListRouts()}
在Android上运行,运行正常。在WinPhone上,它崩溃了。
有什么想法吗?
谢谢!